奇怪的代码,好像没有什么场合用得着。
1

/**//// <summary>2
/// 汉字转拼音缩写3
/// Code By MuseStudio@hotmail.com4
/// 2004-11-305
/// </summary>6
/// <param name="str">要转换的汉字字符串</param>7
/// <returns>拼音缩写</returns>8
public string GetPYString(string str)9

{10
string tempStr = "";11
foreach(char c in str)12

{13
if((int)c >= 33 && (int)c <=126)14

{//字母和符号原样保留15
tempStr += c.ToString();16
}17
else18

{//累加拼音声母19
tempStr += GetPYChar(c.ToString());20
}21
}22
return tempStr;23
}24

25

/**//// <summary>26
/// 取单个字符的拼音声母27
/// Code By MuseStudio@hotmail.com28
/// 2004-11-3029
/// </summary>30
/// <param name="c">要转换的单个汉字</param>31
/// <returns>拼音声母</returns>32
public string GetPYChar(string c)33

{34
byte[] array = new byte[2];35
array = System.Text.Encoding.Default.GetBytes(c);36
int i = (short)(array[0] - '\0') * 256 + ((short)(array[1] - '\0'));37

38
if ( i < 0xB0A1) return "*";39
if ( i < 0xB0C5) return "a";40
if ( i < 0xB2C1) return "b";41
if ( i < 0xB4EE) return "c";42
if ( i < 0xB6EA) return "d";43
if ( i < 0xB7A2) return "e";44
if ( i < 0xB8C1) return "f";45
if ( i < 0xB9FE) return "g";46
if ( i < 0xBBF7) return "h";47
if ( i < 0xBFA6) return "g";48
if ( i < 0xC0AC) return "k";49
if ( i < 0xC2E8) return "l";50
if ( i < 0xC4C3) return "m";51
if ( i < 0xC5B6) return "n";52
if ( i < 0xC5BE) return "o";53
if ( i < 0xC6DA) return "p";54
if ( i < 0xC8BB) return "q";55
if ( i < 0xC8F6) return "r";56
if ( i < 0xCBFA) return "s";57
if ( i < 0xCDDA) return "t";58
if ( i < 0xCEF4) return "w";59
if ( i < 0xD1B9) return "x";60
if ( i < 0xD4D1) return "y";61
if ( i < 0xD7FA) return "z";62

63
return "*";64
}65

66


浙公网安备 33010602011771号