Asp.net 字符(一)
1、字母大小写处理
private string GetChangedStr(string oldStr, strType type)
{
string newStr = "";
//使用 TextInfo 类时,必须指定区域性信息。多数情况下,可默认当前正在使用的区域性。
CultureInfo culInfo = Thread.CurrentThread.CurrentCulture;
TextInfo tInfo = culInfo.TextInfo;
switch (type)
{
case strType.Upper: //统一转换成大写
newStr = tInfo.ToUpper(oldStr);
break;
case strType.Lower: //统一转换成小写
newStr = tInfo.ToLower(oldStr);
break;
case strType.FirToUpper: //首字符大写
newStr = tInfo.ToTitleCase(oldStr);
break;
case strType.UTL_LTU: //大写转小写,小写转大写。
char[] oldArr = oldStr.ToCharArray();
for (int i = ; i < oldArr.Length; i++)
{
if (char.IsUpper(oldStr, i))
newStr += oldArr[i].ToString().ToLower();
else
newStr += oldArr[i].ToString().ToUpper();
}
break;
default:
break;
}
return newStr;
} enum strType
{
Upper,
Lower,
FirToUpper,
UTL_LTU
}
2、字母与ASCII的互换
在Web开发时,ASCII的作用!(American Standard Code for Information Interchange,美国信息交换标准代码)
举个例子:' 单引号在sql语句中是个杀手,但是如果把(')它转换成 "&#" + ASCII码 +";" 去存储,就可以有效的防治sql注入了!
private string strToASCII(string oldStr)
{
string newStr = "参数不能为空!!!";
if (!string.IsNullOrEmpty(oldStr))
{
int num;
if (int.TryParse(oldStr, out num))
{
newStr = ((char)num).ToString();
}
else
{
if (Encoding.GetEncoding("unicode").GetBytes(new char[] { oldStr[] })[] == ) //判断是否为字母
{
newStr = Encoding.GetEncoding("unicode").GetBytes(oldStr)[].ToString();
}
}
}
return newStr;
}
3、汉字与区位码
为了使每一个汉字有一个全国统一的代码,1980年,我国颁布了第一个汉字编码的国家标准: GB2312-80《信息交换用汉字编码字符集》基本集,这个字符集是我国中文信息处理技术的发展基础,也是目前国内所有汉字系统的统一标准。由于国标码是四位十六进制,为了便于交流,大家常用的是四位十进制的区位码。
所有的国标汉字与符号组成一个94×94的矩阵。在此方阵中,每一行称为一个“区”,每一列称为一个“位”,因此,这个方阵实际上组成了一个有94个区(区号分别为0 1到94)、每个区内有94个位(位号分别为01到94)的汉字字符集。
一个汉字所在的区号和位号简单地组合在一起就构成了该汉字的“区位码”。
在汉字的区位码中,高两位为区号,低两位为位号。在区位码中,
01-09区为682个特殊字符,
16~87区为汉字区,包含6763个汉字。其中16-55区为一级汉字(3755个最常用的汉字,按拼音字母的次序排列),
56-87区为二级汉字(3008个汉字,按部首次序排列);
88-94 区: 空白, 留待扩展。
private string strToLocCode(string oldStr)
{
try
{
string newStr = "";
byte[] btArray = new byte[]; //定义字节数组用于存储汉字
btArray = Encoding.Default.GetBytes(oldStr); //赋值
int first = (short)(btArray[] - '\0');
int second = (short)(btArray[] - '\0');
newStr = (first - ).ToString() + (second - ).ToString(); //计算区位码
return newStr;
}
catch (Exception e)
{
return e.Message+"请输入正确的汉字";
}
}
交流群:225443677
Asp.net 字符(一)的更多相关文章
- ASP截取字符 截取字符之间的字符
ASP截取字符:MID函数Mid(变量或字串符,开始字节, 结尾字节(可不填)) InStrRev(变量, "字串符") 最后出现位置InStr(变量, "字串符&qu ...
- ASP.NET 字符编码的那些事
ASP.NET 中的字符编码问题,一般会有两个场景: HTML 编码:一般是动态显示 HTML 字符或标签,写法是:HttpUtility.HtmlDecode(htmlString) 或 Html. ...
- Asp.net 字符(二)
using System; using System.Collections; using System.Collections.Generic; using System.IO; using Sys ...
- asp.net 字符帮助类 类型转换类
/// <summary> /// 字符帮助类 /// </summary> public class StringHelper { private static readon ...
- Asp.net 字符(三)
using System; using System.Collections.Generic; using System.Globalization; using System.Linq; using ...
- ASP.NET播客(留言时间,投票IP,留言限字数,上传视频)
留言发布时间功能: 界面: 前台代码: 在Datalist控件中: 在<%#getIsDate(Convert.ToString(Eval("issuanceDate"))) ...
- asp 与php 的不同之处
1.asp语句完成后不用加逗号:php要: 2.asp连接字符窜是用&:php用.; 3.asp需要用dim声明变量才能使用:php不用: 4.asp数组用(),php用[]; 5.asp的条 ...
- C# 正则表达式 转自-每日一bo
最近写爬虫时需要用到正则表达式,有段时间没有使用正则表达式现在渐渐感觉有些淡忘,现在使用还需要去查询一些资料.为了避免以后这样的情况,在此记录下正则表达式的一些基本使用方法附带小的实例.让以后在使用时 ...
- ScriptManager的使用方法
脚本管理控件(ScriptManger)是ASP.NET AJAX中很重要的控件,通过使用ScriptManger可以进行整个页面的局部更新的管理.ScriptManger用来处理页面上局部更新,同一 ...
随机推荐
- 在Android Studio中移除导入的模块依赖
进入settings.gradle(Project Settings) include ':app', ':pull_down_list_view' 要移除的Module dependency为“pu ...
- linux下自动创建设备文件节点---class
在驱动模块初始化函数中实现设备节点的自动创建 我们在刚开始写Linux设备驱动程序的时候,很多时候都是利用mknod命令手动创建设备节点,实际上Linux内核为我们提供了一组函数,可以用来在模块加载的 ...
- 关于animate的一些属性
animate() 方法执行 CSS 属性集的自定义动画.该方法通过CSS样式将元素从一个状态改变为另一个状态.CSS属性值是逐渐改变的,这样就可以创建动画效果.只有数字值可创建动画(比如 " ...
- YTU 2420: C语言习题 不等长字符串排序
2420: C语言习题 不等长字符串排序 时间限制: 1 Sec 内存限制: 128 MB 提交: 460 解决: 239 题目描述 在主函数中输入n(n<=10)个不等长的字符串.用另一函 ...
- jLim - 紧凑的 JavaScript 框架
1. [代码][JavaScript]代码 /*! * jLim Core * * jLim is a small JavaScript base code. It can be used t ...
- hdu 1400 Mondriaan's Dream 解题报告
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1400 题目意思:给出一个h * w的 大 矩形,需要用 1 * 2 的砖块去填充这个大矩形,问填充的方 ...
- LA-4356&&hdu-2469 (极角排序+扫描线)
题目链接: Fire-Control System Time Limit: 12000/5000 MS (Java/Others) Memory Limit: 32768/32768 K (J ...
- RPi 2B DDNS 动态域名
/**************************************************************************** * RPi 2B DDNS 动态域名 * 说 ...
- Educational Codeforces Round 24 CF 818 A-G 补题
6月快要结束了 期末也过去大半了 马上就是大三狗了 取消了小学期后20周的学期真心长, 看着各种北方的学校都放假嗨皮了,我们这个在北回归线的学校,还在忍受酷暑. 过年的时候下定决心要拿块ACM的牌子, ...
- C#:template
ylbtech-C#: 1.返回顶部 2.返回顶部 3.返回顶部 4.返回顶部 5.返回顶部 6.返回顶部 作者:ylbtech出处:http://ylbtech.cnbl ...