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
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; }
转载于:https://www.cnblogs.com/sky1982/archive/2006/06/09/421292.html