终于实现了此功能,但是还是有一点BUG,有一些比较偏的汉字获取不到,代码如下:
//此方法用于取字母
private static string GetCharSpellCode(string CnChar)
{
long iCnChar;
byte[] ZW = System.Text.Encoding.Default.GetBytes(CnChar);
//如果是英文字母,则直接返回此字母
if (ZW.Length == 1)
{
return CnChar.ToUpper();
}
else
{
int i1 = (short)(ZW[0]);
int i2 = (short)(ZW[1]);
iCnChar = i1 * 256 + i2;
}
//判断编码区间,返回相应的字母
if ((iCnChar >= 45217) && (iCnChar <= 45252)) //45217..45252
{
return "A";
}
else if ((iCnChar >= 45253) && (iCnChar <= 45760)) //45253..45760
{
return "B";
}
else if ((iCnChar >= 45761) && (iCnChar <= 46317)) //45761..46317
{
return "C";
}
else if ((iCnChar >= 46318) && (iCnChar <= 46825)) //46318..46825
{
return "D";
}
else if ((iCnChar >= 46826) && (iCnChar <= 47009)) //46826..47009
{
return "E";
}
else if ((iCnChar >= 47010) && (iCnChar <= 47296)) //47010..47296
{
return "F";
}
else if ((iCnChar >= 47297) && (iCnChar <= 47613)) //47297..47613
{
return "G";
}
else if ((iCnChar >= 47614) && (iCnChar <= 48118)) //47614..48118
{
return "H";
}
else if ((iCnChar >= 48119) && (iCnChar <= 49061)) //48119..49061
{
return "J";
}
else if ((iCnChar >= 49062) && (iCnChar <= 49323)) //49062..49323
{
return "K";
}
else if ((iCnChar >= 49324) && (iCnChar <= 49895)) //49324..49895
{
return "L";
}
else if ((iCnChar >= 49896) && (iCnChar <= 50370)) //49896..50370
{
return "M";
}
else if ((iCnChar >= 50371) && (iCnChar <= 50613)) //50371..50613
{
return "N";
}
else if ((iCnChar >= 50614) && (iCnChar <= 50621)) //50614..50621
{
return "O";
}
else if ((iCnChar >= 50622) && (iCnChar <= 50905)) //50622..50905
{
return "P";
}
else if ((iCnChar >= 50906) && (iCnChar <= 51386)) //50906..51386
{
return "Q";
}
else if ((iCnChar >= 51387) && (iCnChar <= 51445)) //51387..51445
{
return "R";
}
else if ((iCnChar >= 51446) && (iCnChar <= 52217)) //51446..52217
{
return "S";
}
else if ((iCnChar >= 52218) && (iCnChar <= 52697)) //52218..52697
{
return "T";
}
else if ((iCnChar >= 52698) && (iCnChar <= 52979)) //52698..52979
{
return "W";
}
else if ((iCnChar >= 52980) && (iCnChar <= 53640)) //52980..53640
{
return "X";
}
else if ((iCnChar >= 53689) && (iCnChar <= 54480)) //53689..54480
{
return "Y";
}
else if ((iCnChar >= 54481) && (iCnChar <= 55289)) //54481..55289
{
return "Z";
}
else return (" "); //没有找到的返回一个空格
}
//此方法用于取字符串中每一个字符,如果有英语单词间的空格,则取单词一首字母
public static string GetSpellCode(string CnStr)
{
string strTemp = "";
if (CnStr.IndexOf(' ') > 0)
{
string[] arr = CnStr.Split(' ');
int iLen = arr.Length; // CnStr.Length;
int i = 0;
for (i = 0; i < iLen; i++)
{
//strTemp += GetCharSpellCode(CnStr.Substring(i, 1));
strTemp += GetCharSpellCode(arr[i].Substring(0, 1));
}
}
else
{
int iLen = CnStr.Length;
int i = 0;
for (i = 0; i < iLen; i++)
{
strTemp += GetCharSpellCode(CnStr.Substring(i, 1));
//strTemp += GetCharSpellCode(arr[i].Substring(0, 1));
}
}
return strTemp;
}
京喜app是一款京东旗下推出的网购电商平台,京喜app里面能够帮助你省下的大量的金额,很多的优惠卷免费发送,先领劵在购物省一大笔钱。还有每天推荐精品好货为你提供最优质的商品,精细分类让你挑选起来更简易,需要的用户快来下载体验把。
旅行串串游戏下载是一款非常好玩的休闲经营养成类型游戏,旅行串串游戏安卓下载在游戏剧情里,你跟女友辞去了工作,来了一场说走就走的旅行,旅途中你会看到世界各地的文化、风景、美食等。非常的有意思。赶快下载试试。
泡沫冬景破解版是一款今年超级火爆galgame。泡沫冬景破解免费版游戏正版是要收费18元才能玩的,小编在这里找到了一个免费的下载渠道,但内容是跟正版一模一样的哦。喜欢这款游戏的欢迎来ucbug下载站下载体验。
百度地图2020最新版是一款最新的地图导航手机软件,百度地图2020最新手机版软件内有着全网最新的地图路线,而且增添了许多实用功能,可以看到公交车的实时定位,也可以直接在地图软件上预估打车价格等等。非常方便。
高德地图手机版是目前手机上最好用的一款地图软件之一,高德地图手机版软件内有着非常精准的定位系统,包括的人的朝向都能够清晰观察到。软件内还有实时路况播报,方便你开车时避开高峰路段,节省路途时间。
1号店app是一款非常好用网上电子商务平台。1号店app可以说是一家网上百货超市,几乎所有日常生活用品等可以在1号店上进行购买,覆盖食品、饮食、进口商品、服饰、鞋帽、清洁用品、数码、家电等非常多的种类。同时1号店拥有独具特色的集成供应链既保证了商品质