c#字符串⼤⼩写转换
解决⽅法如同昆⾍世界多姿多彩:
善于总结就会发现,⼩写与⼤写的⼆进制存在某种转换关系:
⽐如:
⼤写A ⼆进制:0100 0001
⼩写a ⼆进制:0110 0001
...
⼤写Z ⼆进制:0101 1010
⼩写z ⼆进制:0111 1010
可以发现个规律:⼤⼩写差别在于第6位的位值,也就是相差32;所以要把⼤写转换成⼩写,只需要把它第6位置1;⼩写转换成⼤写,把它置0,其他位保持不变;
得到两个掩码:
⼤写--〉⼩写 0010 0000
⼩写--〉⼤写 1101 1111
//////////////////////////////////
A: 0100 0001
or 0010 0000
-------------
a: 0110 0001
//////////////////////////////////
a: 0110 0001
and 1101 1111
字符串函数中将大写转换为小写-------------
A: 0100 0001
/////////////////////////////////
//转换成⼤写
static string ToUpper(string str)
{
string result = string.Empty;
for(int i = 0; i < str.Length; i++)
result += (char)(str[i] & 223);
return result;
}
//转换成⼩写
static string ToLower(string str)
{
string result = string.Empty;
for(int i = 0; i < str.Length; i++)
result += (char)(str[i] | 32);
return result;
}
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论