利用汉字在计算机里面的编码来得到汉字的首拼音:
static public string GetChineseSpell(string strText)
{
int len = strText.Length;
string myStr = "";
for(int i=;i<len;i++)
myStr += getSpell(strText.Substring(i,));
return myStr;
} static public string getSpell(string cnChar)
{
byte[] arrCN = Encoding.Default.GetBytes(cnChar);
if(arrCN.Length > )
{
int area = (short)arrCN[];
int pos = (short)arrCN[];
int code = (area<<) + pos;
int[] areacode = {,,,,,,,,,,,,,,,,,,,,,,,,,};
for(int i=;i<;i++)
{
int max = ;
if(i != )
max = areacode[i+];
if(areacode[i]<=code && code<max)
return Encoding.Default.GetString(new byte[]{(byte)(+i)});
}
return "*";
}
else
return cnChar;
}
这个方法目前对一些生僻字无法解码,有待修改...