我们在手机上经常都能看到通过拼音缩写来搜索好友信息,那么它是如何将一段汉字转换为首字母大写呢
首先我们来了解一下中文在计算机中的结构。计算机识别的是字节,字节(Byte)是计算机信息技术用于计量存储容量和传输容量的一种计量单位,1个字节等于8位二进制。在ASCII码中,一个英文字母(不分大小写)占一个字节的空间,一个中文汉字占两个字节的空间
。而汉字在编码中都有自己专属的位置,比如说“A”
开头的汉字【啊、阿】
,它们的位置在45217 到 45252 之间(包括两端)
,那么我们就可以通过这个区间来对汉字进行分类,在45217 到 45252 之间就属于A,同理在45253 到 45760 之间的汉字就属于B。
private static string GetSpellCode(string CnChar)
{
long iCnChar;
byte[] arrCN = System.Text.Encoding.Default.GetBytes(CnChar);
//将传进来的参数转换为byte格式的,如果是英文字母,它的长度应该为1
//如果是中文,那它的长度应该是2
//如果是字母,则直接返回
if (arrCN.Length == 1)
{
CnChar = CnChar.ToUpper();
}
else