参考:
http://www.jb51.net/article/42217.htm
http://blog.csdn.net/cstester/article/details/4758172 ChineseToPinyinHelper.cs:
using System;
using System.Collections.Generic;
using System.Text;
using System.Text.RegularExpressions; namespace FisherComom
{
/// <summary>
/// 汉字转拼音类(支持全拼,首拼)
/// </summary>
public class ChineseToPinyinHelper
{
private static int[] pyValue = new int[]
{
-,-,-,-,-,-,-,-,-,-,-,-,
-,-,-,-,-,-,-,-,-,-,-,-,
-,-,-,-,-,-,-,-,-,-,-,-,
-,-,-,-,-,-,-,-,-,-,-,-,
-,-,-,-,-,-,-,-,-,-,-,-,
-,-,-,-,-,-,-,-,-,-,-,-,
-,-,-,-,-,-,-,-,-,-,-,-,
-,-,-,-,-,-,-,-,-,-, -,-,
-,-,-,-,-,-,-,-,-,-,-,-,
-,-,-,-,-,-,-,-,-,-,-,-,
-,-,-,-,-,-,-,-,-,-,-,-,
-,-,-,-,-,-,-,-,-,-,-,-,
-,-,-,-,-,-,-,-,-,-,-,-,
-,-,-,-,-,-,-,-,-,-,-,-,
-,-,-,-,-,-,-,-,-,-,-,-,
-,-,-,-,-,-,-,-,-,-,-,-,
-,-,-,-,-,-,-,-,-,-,-,-,
-,-,-,-,-,-,-,-,-,-,-,-,
-,-,-,-,-,-,-,-,-,-,-,-,
-,-,-,-,-,-,-,-,-,-,-,-,
-,-,-,-,-,-,-,-,-,-,-,-,
-,-,-,-,-,-,-,-,-,-,-,-,
-,-,-,-,-,-,-,-,-,-,-,-,
-,-,-,-,-,-,-,-,-,-,-,-,
-,-,-,-,-,-,-,-,-,-,-,-,
-,-,-,-,-,-,-,-,-,-,-,-,
-,-,-,-,-,-,-,-,-,-,-,-,
-,-,-,-,-,-,-,-,-,-,-,-,
-,-,-,-,-,-,-,-,-,-,-,-,
-,-,-,-,-,-,-,-,-,-,-,-,
-,-,-,-,-,-,-,-,-,-,-,-,
-,-,-,-,-,-,-,-,-,-,-,-,
-,-,-,-,-,-,-,-,-,-,-,-
}; private static string[] pyName = new string[]
{
"A","Ai","An","Ang","Ao","Ba","Bai","Ban","Bang","Bao","Bei","Ben",
"Beng","Bi","Bian","Biao","Bie","Bin","Bing","Bo","Bu","Ba","Cai","Can",
"Cang","Cao","Ce","Ceng","Cha","Chai","Chan","Chang","Chao","Che","Chen","Cheng",
"Chi","Chong","Chou","Chu","Chuai","Chuan","Chuang","Chui","Chun","Chuo","Ci","Cong",
"Cou","Cu","Cuan","Cui","Cun","Cuo","Da","Dai","Dan","Dang","Dao","De",
"Deng","Di","Dian","Diao","Die","Ding","Diu","Dong","Dou","Du","Duan","Dui",
"Dun","Duo","E","En","Er","Fa","Fan","Fang","Fei","Fen","Feng","Fo",
"Fou","Fu","Ga","Gai","Gan","Gang","Gao","Ge","Gei","Gen","Geng","Gong",
"Gou","Gu","Gua","Guai","Guan","Guang","Gui","Gun","Guo","Ha","Hai","Han",
"Hang","Hao","He","Hei","Hen","Heng","Hong","Hou","Hu","Hua","Huai","Huan",
"Huang","Hui","Hun","Huo","Ji","Jia","Jian","Jiang","Jiao","Jie","Jin","Jing",
"Jiong","Jiu","Ju","Juan","Jue","Jun","Ka","Kai","Kan","Kang","Kao","Ke",
"Ken","Keng","Kong","Kou","Ku","Kua","Kuai","Kuan","Kuang","Kui","Kun","Kuo",
"La","Lai","Lan","Lang","Lao","Le","Lei","Leng","Li","Lia","Lian","Liang",
"Liao","Lie","Lin","Ling","Liu","Long","Lou","Lu","Lv","Luan","Lue","Lun",
"Luo","Ma","Mai","Man","Mang","Mao","Me","Mei","Men","Meng","Mi","Mian",
"Miao","Mie","Min","Ming","Miu","Mo","Mou","Mu","Na","Nai","Nan","Nang",
"Nao","Ne","Nei","Nen","Neng","Ni","Nian","Niang","Niao","Nie","Nin","Ning",
"Niu","Nong","Nu","Nv","Nuan","Nue","Nuo","O","Ou","Pa","Pai","Pan",
"Pang","Pao","Pei","Pen","Peng","Pi","Pian","Piao","Pie","Pin","Ping","Po",
"Pu","Qi","Qia","Qian","Qiang","Qiao","Qie","Qin","Qing","Qiong","Qiu","Qu",
"Quan","Que","Qun","Ran","Rang","Rao","Re","Ren","Reng","Ri","Rong","Rou",
"Ru","Ruan","Rui","Run","Ruo","Sa","Sai","San","Sang","Sao","Se","Sen",
"Seng","Sha","Shai","Shan","Shang","Shao","She","Shen","Sheng","Shi","Shou","Shu",
"Shua","Shuai","Shuan","Shuang","Shui","Shun","Shuo","Si","Song","Sou","Su","Suan",
"Sui","Sun","Suo","Ta","Tai","Tan","Tang","Tao","Te","Teng","Ti","Tian",
"Tiao","Tie","Ting","Tong","Tou","Tu","Tuan","Tui","Tun","Tuo","Wa","Wai",
"Wan","Wang","Wei","Wen","Weng","Wo","Wu","Xi","Xia","Xian","Xiang","Xiao",
"Xie","Xin","Xing","Xiong","Xiu","Xu","Xuan","Xue","Xun","Ya","Yan","Yang",
"Yao","Ye","Yi","Yin","Ying","Yo","Yong","You","Yu","Yuan","Yue","Yun",
"Za", "Zai","Zan","Zang","Zao","Ze","Zei","Zen","Zeng","Zha","Zhai","Zhan",
"Zhang","Zhao","Zhe","Zhen","Zheng","Zhi","Zhong","Zhou","Zhu","Zhua","Zhuai","Zhuan",
"Zhuang","Zhui","Zhun","Zhuo","Zi","Zong","Zou","Zu","Zuan","Zui","Zun","Zuo"
}; /// <summary>
/// 把汉字转换成拼音(全拼)
/// </summary>
/// <param name="zhString">汉字字符串</param>
/// <returns>转换后的拼音(全拼)字符串</returns>
public static string ConvertToQP(string zhString)
{
// 匹配中文字符
Regex regex = new Regex("^[\u4e00-\u9fa5]$");
byte[] array = new byte[];
string pyString = "";
int chrAsc = ;
int i1 = ;
int i2 = ;
char[] noWChar = zhString.ToCharArray(); for (int j = ; j < noWChar.Length; j++)
{
// 中文字符
if (regex.IsMatch(noWChar[j].ToString()))
{
array = System.Text.Encoding.Default.GetBytes(noWChar[j].ToString());
i1 = (short)(array[]);
i2 = (short)(array[]);
chrAsc = i1 * + i2 - ;
if (chrAsc > && chrAsc < )
{
pyString += noWChar[j];
}
else
{
// 修正部分文字
if (chrAsc == -) // 修正“圳”字
pyString += "Zhen";
else
{
for (int i = (pyValue.Length - ); i >= ; i--)
{
if (pyValue[i] <= chrAsc)
{
pyString += pyName[i];
break;
}
}
}
}
}
// 非中文字符
else
{
pyString += noWChar[j].ToString();
}
}
return pyString;
} /// <summary>
/// 把汉字转换成拼音(首拼)
/// </summary>
/// <param name="zhString">汉字字符串</param>
/// <returns>转换后的拼音(首拼)字符串</returns>
public static string ConvertToSP(string zhString)
{
char[] noWChar = zhString.ToCharArray();
StringBuilder sb = new StringBuilder();
for (int j = ; j < noWChar.Length; j++)
{
sb.Append(GetCharSpellCode(noWChar[j].ToString()));
}
return sb.ToString().ToUpper();
} /// <summary>
/// 获取单个汉字的首拼音
/// </summary>
/// <param name="myChar">需要转换的字符</param>
/// <returns>转换结果</returns>
private static string GetCharSpellCode(string myChar)
{
byte[] arrCN = System.Text.Encoding.Default.GetBytes(myChar);
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 System.Text.Encoding.Default.GetString(new byte[] { (byte)( + i) });
}
}
return "_";
}
else return myChar;
} }
}
使用方法:
protected void Page_Load(object sender, EventArgs e)
{
string qpStr = ChineseToPinyinHelper.ConvertToQP("C#入门到精通");
string spStr = ChineseToPinyinHelper.ConvertToSP("C#入门到精通");
ShowMsg("全拼:" + qpStr + "<br>首拼:" + spStr);
}
效果:
aaarticlea/png;base64,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" alt="" />