1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48 |
代码 #region GetChineseSpell获取汉字拼音的第一个字母 //获取汉字拼音的第一个字母 static
public string GetChineseSpell( string
strText) { int
len = strText.Length; string
myStr = "" ; for
( int
i = 0; i < len; i++) { myStr += getSpell(strText.Substring(i, 1)); } return
myStr; } static
public string [] GetChineseSpell( string [] strText) { int
len = strText.Length; string [] myStr = null ; for
( int
i = 0; i < len; i++) { myStr[i] = getSpell(strText[i]); } return
myStr; } static
public string getSpell( string
cnChar) { byte [] arrCN = Encoding.Default.GetBytes(cnChar); if
(arrCN.Length > 1) { int
area = ( short )arrCN[0]; int
pos = ( short )arrCN[1]; int
code = (area << 8) + pos; int [] areacode = { 45217, 45253, 45761, 46318, 46826, 47010, 47297, 47614, 48119, 48119, 49062, 49324, 49896, 50371, 50614, 50622, 50906, 51387, 51446, 52218, 52698, 52698, 52698, 52980, 53689, 54481 }; for
( int
i = 0; i < 26; i++) { int
max = 55290; if
(i != 25) max = areacode[i + 1]; if
(areacode[i] <= code && code < max) { return
Encoding.Default.GetString( new
byte [] { ( byte )(65 + i) }); } } return
"*" ; } else
return cnChar; } #endregion |
ASP.NET获取汉字拼音的首字母,布布扣,bubuko.com
原文:http://www.cnblogs.com/zhangtao/p/3581724.html