Asp.net 字符(一)
2024-08-29 06:13:52
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
最新文章
- Linux下安装gcc和g++
- zabbix3.0.4 部署之八 (zabbix3.0.4 微信报警)
- 常用Maven插件介绍
- maven自动化部署插件sshexec-maven-plugin
- C# WinForm中 让控件全屏显示的实现代码
- HW4.22
- (转)phpmyadmin操作技巧:如何在phpmyadmin里面复制mysql数据库?
- cocos2d-3.0 Helloworld::onTouchMoved的处理机制的推測
- WebStorm 的使用(一)
- 不要伤害指针(5)--void和void指针详解
- MySQL之增_insert-replace
- 关于node的基础理论,书上看来的
- Ext中继承知识点
- AI学习---基于TensorFlow的案例[实现线性回归的训练]
- day4 字符串的操作
- 微信小程序---setData
- Microsoft Dynamics CRM 常用JS语法(已转成vs2017语法提示)
- 【Hibernate】hibernate框架的搭建
- JavaScript 循环:如何处理 async/await
- PHP在Linux下Apache环境中执行exec,system,passthru等服务器命令函数