漢字のピンイン(より完全)


移動先:https://www.cnblogs.com/jwfgsf/articles/1348668.html
public class PingYin
{
    #region //gb2312      
    //01-09      。
    //16-55      ,     。
    //56-87      ,   /    。
    //                。       “    ”,       “    ”。
    //“    ”   0xA1-0xF7( 01-87      0xA0),“    ”   0xA1-0xFE( 01-94  0xA0)。
    //  “ ”        ,  0xB0A1  。(      :0xB0=0xA0+16,0xA1=0xA0+1)。
    //  :
    //http://zh.wikipedia.org/wiki/GB2312
    //http://www.33tt.com/tools/cx.htm

    //http://www.1313s.com/f/ChinesePinyin.html
    private static readonly string[][] _Allhz =
     new string[][]
{
new string[]{"A","        "},
new string[]{"Ai","                                                                                             "},
new string[]{"An","                                                                           "},
new string[]{"Ang","           "},
new string[]{"Ao","                                                                               "},
new string[]{"Ba","                                                                            "},
new string[]{"Bai","                                  "},
new string[]{"Ban","                                                              "},
new string[]{"Bang","                                                   "},
new string[]{"Bao","                                                                               "},
new string[]{"Be"," "},
new string[]{"Bei","                                                                                    "},
new string[]{"Ben","                               "},
new string[]{"Beng","                                            "},
new string[]{"Bi","                                                                                                                                                                                                                           "},
new string[]{"Bia"," "},
new string[]{"Bian","                                                                            "},
new string[]{"Biao","                                                              "},
new string[]{"Bie","                              "},
new string[]{"Bin","                                                  "},
new string[]{"Bing","                                                                    "},
new string[]{"Bo","                                                                                                                                                               "},
new string[]{"Bu","                                                                  "},
new string[]{"Ca","            "},
new string[]{"Cai","                           "},
new string[]{"Can","                                                      "},
new string[]{"Cang","                            "},
new string[]{"Cao","                               "},
new string[]{"Ce","                                   "},
new string[]{"Cen","              "},
new string[]{"Ceng","             "},
new string[]{"Ceok","  "},
new string[]{"Ceom"," "},
new string[]{"Ceon"," "},
new string[]{"Ceor"," "},
new string[]{"Cha","                                                                     "},
new string[]{"Chai","                           "},
new string[]{"Chan","                                                                                                                                          "},
new string[]{"Chang","                                                                              "},
new string[]{"Chao","                                                          "},
new string[]{"Che","                                          "},
new string[]{"Chen","                                                                                                "},
new string[]{"Cheng","                                                                                                                                 "},
new string[]{"Chi","                                                                                                                                                                                                         "},
new string[]{"Chong","                                                   "},
new string[]{"Chou","                                                                                   "},
new string[]{"Chu","                                                                                                                     "},
new string[]{"Chua","   "},
new string[]{"Chuai","         "},
new string[]{"Chuan","                                      "},
new string[]{"Chuang","                                      "},
new string[]{"Chui","                         "},
new string[]{"Chun","                                                      "},
new string[]{"Chuo","                                                  "},
new string[]{"Ci","                                                                                        "},
new string[]{"Cis"," "},
new string[]{"Cong","                                                                       "},
new string[]{"Cou","                 "},
new string[]{"Cu","                                                   "},
new string[]{"Cuan","                              "},
new string[]{"Cui","                                                          "},
new string[]{"Cun","                  "},
new string[]{"Cuo","                                                 "},
new string[]{"Da","                                                               "},
new string[]{"Dai","                                                                       "},
new string[]{"Dan","                                                                                                                                    "},
new string[]{"Dang","                                                             "},
new string[]{"Dao","                                                                           "},
new string[]{"De","                "},
new string[]{"Dei","  "},
new string[]{"Dem"," "},
new string[]{"Den","  "},
new string[]{"Deng","                             "},
new string[]{"Di","                                                                                                                                                                  "},
new string[]{"Dia"," "},
new string[]{"Dian","                                                                         "},
new string[]{"Diao","                                                                              "},
new string[]{"Die","                                                                                "},
new string[]{"Dim"," "},
new string[]{"Ding","                                                 "},
new string[]{"Diu","     "},
new string[]{"Dong","                                                                      "},
new string[]{"Dou","                                                      "},
new string[]{"Du","                                                                                              "},
new string[]{"Duan","                             "},
new string[]{"Dui","                                                 "},
new string[]{"Dul"," "},
new string[]{"Dun","                                                 "},
new string[]{"Duo","                                                                                                        "},
new string[]{"E","                                                                                                                                                                "},
new string[]{"En","         "},
new string[]{"Eng"," "},
new string[]{"Eo"," "},
new string[]{"Eol"," "},
new string[]{"Eom"," "},
new string[]{"Eos"," "},
new string[]{"Er","                                                              "},
new string[]{"Fa","                                           "},
new string[]{"Fan","                                                                                             "},
new string[]{"Fang","                                             "},
new string[]{"Fei","                                                                                               "},
new string[]{"Fen","                                                                                                "},
new string[]{"Feng","                                                                                           "},
new string[]{"Fo","     "},
new string[]{"Fou","             "},
new string[]{"Fu","                                                                                                                                                                                                                                                                            "},
new string[]{"Ga","                   "},
new string[]{"Gad"," "},
new string[]{"Gai","                                                  "},
new string[]{"Gan","                                                                                 "},
new string[]{"Gang","                                             "},
new string[]{"Gao","                                                          "},
new string[]{"Ge","                                                                                                                  "},
new string[]{"Gei"," "},
new string[]{"Gen","        "},
new string[]{"Geng","                                           "},
new string[]{"Gib"," "},
new string[]{"Go"," "},
new string[]{"Gong","                                                          "},
new string[]{"Gou","                                                               "},
new string[]{"Gu","                                                                                                                           "},
new string[]{"Gua","                                           "},
new string[]{"Guai","             "},
new string[]{"Guan","                                                                                "},
new string[]{"Guang","                                        "},
new string[]{"Gui","                                                                                                                                      "},
new string[]{"Gun","                                "},
new string[]{"Guo","                                                                            "},
new string[]{"Ha","             "},
new string[]{"Hai","                                   "},
new string[]{"Hal"," "},
new string[]{"Han","                                                                                                                              "},
new string[]{"Hang","                             "},
new string[]{"Hao","                                                                         "},
new string[]{"He","                                                                                                                                          "},
new string[]{"Hei","      "},
new string[]{"Hen","            "},
new string[]{"Heng","                          "},
new string[]{"Ho"," "},
new string[]{"Hol"," "},
new string[]{"Hong","                                                                                               "},
new string[]{"Hou","                                        "},
new string[]{"Hu","                                                                                                                                                                           "},
new string[]{"Hua","                                                                                "},
new string[]{"Huai","                        "},
new string[]{"Huan","                                                                                                                 "},
new string[]{"Huang","                                                                              "},
new string[]{"Hui","                                                                                                                                                                                   "},
new string[]{"Hun","                                                        "},
new string[]{"Huo","                                                                                      "},
new string[]{"Hwa"," "},
new string[]{"I"," "},
new string[]{"Ji","                                                                                                                                                                                                                                                                                                                                                                                                "},
new string[]{"Jia","                                                                                                                   "},
new string[]{"Jian","                                                                                                                                                                                                                                                                                     "},
new string[]{"Jiang","                                                                         "},
new string[]{"Jiao","                                                                                                                                                                          "},
new string[]{"Jie","                                                                                                                                                                                           "},
new string[]{"Jin","                                                                                                                  "},
new string[]{"Jing","                                                                                                                                      "},
new string[]{"Jiong","                                          "},
new string[]{"Jiu","                                                                               "},
new string[]{"Jou"," "},
new string[]{"Ju","                                                                                                                                                                                                                              "},
new string[]{"Juan","                                                                                "},
new string[]{"Jue","                                                                                                                                                "},
new string[]{"Jun","                                                                     "},
new string[]{"Ka","             "},
new string[]{"Kai","                                                   "},
new string[]{"Kal"," "},
new string[]{"Kan","                                                 "},
new string[]{"Kang","                                   "},
new string[]{"Kao","                              "},
new string[]{"Ke","                                                                                                 "},
new string[]{"Kei","     "},
new string[]{"Ken","                      "},
new string[]{"Keng","                            "},
new string[]{"Ki"," "},
new string[]{"Kong","                     "},
new string[]{"Kos"," "},
new string[]{"Kou","                                   "},
new string[]{"Ku","                                             "},
new string[]{"Kua","                       "},
new string[]{"Kuai","                                    "},
new string[]{"Kuan","                "},
new string[]{"Kuang","                                                                 "},
new string[]{"Kui","                                                                                            "},
new string[]{"Kun","                                                               "},
new string[]{"Kuo","                                    "},
new string[]{"Kweok"," "},
new string[]{"Kwi"," "},
new string[]{"La","                                              "},
new string[]{"Lai","                                                        "},
new string[]{"Lan","                                                                                                 "},
new string[]{"Lang","                                                 "},
new string[]{"Lao","                                                               "},
new string[]{"Le","                         "},
new string[]{"Lei","                                                                                   "},
new string[]{"Li","                                                                                                                                                                                                                                                                                    "},
new string[]{"Lia","  "},
new string[]{"Lian","                                                                                                                    "},
new string[]{"Liang","                                                        "},
new string[]{"Liao","                                                                       "},
new string[]{"Lie","                                                         "},
new string[]{"Lin","                                                                                     "},
new string[]{"Ling","                                                                                                    "},
new string[]{"Liu","                                                                                                    "},
new string[]{"Lo","  "},
new string[]{"Long","                                                                               "},
new string[]{"Lou","                                                "},
new string[]{"Lu","                                                                                                                                                                                "},
new string[]{"Luan","                                     "},
new string[]{"Lue","               "},
new string[]{"Lun","                                   "},
new string[]{"Luo","                                                                                                  "},
new string[]{"Lv","                                                                                      "},
new string[]{"M","   "},
new string[]{"Ma","                                                         "},
new string[]{"Mai","                             "},
new string[]{"Man","                                                        "},
new string[]{"Mang","                                               "},
new string[]{"Mao","                                                                           "},
new string[]{"Me","          "},
new string[]{"Mei","                                                                                            "},
new string[]{"Men","                                   "},
new string[]{"Meng","                                                                        "},
new string[]{"Meo"," "},
new string[]{"Mi","                                                                                                                 "},
new string[]{"Mian","                                                            "},
new string[]{"Miao","                                   "},
new string[]{"Mie","                        "},
new string[]{"Min","                                                                   "},
new string[]{"Ming","                                "},
new string[]{"Miu","    "},
new string[]{"Mo","                                                                                                                     "},
new string[]{"Mou","                              "},
new string[]{"Mu","                                                               "},
new string[]{"Myeo"," "},
new string[]{"Myeon"," "},
new string[]{"Myeong"," "},
new string[]{"N","   "},
new string[]{"Na","                                              "},
new string[]{"Nai","                              "},
new string[]{"Nan","                                    "},
new string[]{"Nang","                        "},
new string[]{"Nao","                                              "},
new string[]{"Ne","           "},
new string[]{"Nei","                "},
new string[]{"Nem"," "},
new string[]{"Nen","       "},
new string[]{"Neng","     "},
new string[]{"Neus"," "},
new string[]{"Ng"," "},
new string[]{"Ngag"," "},
new string[]{"Ngai"," "},
new string[]{"Ngam"," "},
new string[]{"Ni","                                                                                               "},
new string[]{"Nian","                                          "},
new string[]{"Niao","                 "},
new string[]{"Nie","                                                                            "},
new string[]{"Nin","     "},
new string[]{"Ning","                                     "},
new string[]{"Niu","                    "},
new string[]{"Nong","                            "},
new string[]{"Nou","             "},
new string[]{"Nu","                    "},
new string[]{"Nuan","        "},
new string[]{"Nue","    "},
new string[]{"Nun"," "},
new string[]{"Nung"," "},
new string[]{"Nuo","                                           "},
new string[]{"Nv","             "},
new string[]{"Nve","    "},
new string[]{"O","    "},
new string[]{"Oes"," "},
new string[]{"Ol"," "},
new string[]{"On","  "},
new string[]{"Ou","                                            "},
new string[]{"Pa","                            "},
new string[]{"Pai","                     "},
new string[]{"Pak"," "},
new string[]{"Pan","                                                                           "},
new string[]{"Pang","                                            "},
new string[]{"Pao","                                                 "},
new string[]{"Pei","                                                          "},
new string[]{"Pen","                "},
new string[]{"Peng","                                                                                 "},
new string[]{"Peol"," "},
new string[]{"Phas"," "},
new string[]{"Phdeng"," "},
new string[]{"Phoi"," "},
new string[]{"Phos"," "},
new string[]{"Pi","                                                                                                                                                               "},
new string[]{"Pian","                                         "},
new string[]{"Piao","                                          "},
new string[]{"Pie","             "},
new string[]{"Pin","                               "},
new string[]{"Ping","                                                            "},
new string[]{"Po","                                                                 "},
new string[]{"Pou","                           "},
new string[]{"Ppun","  "},
new string[]{"Pu","                                                                                "},
new string[]{"Q"," "},
new string[]{"Qi","                                                                                                                                                                                                                                                                                            "},
new string[]{"Qia","                                 "},
new string[]{"Qian","                                                                                                                                                                                                              "},
new string[]{"Qiang","                                                                                    "},
new string[]{"Qiao","                                                                                                                              "},
new string[]{"Qie","                                                            "},
new string[]{"Qin","                                                                                                         "},
new string[]{"Qing","                                                                           "},
new string[]{"Qiong","                                    "},
new string[]{"Qiu","                                                                                                             "},
new string[]{"Qu","                                                                                                                                           "},
new string[]{"Quan","                                                                                             "},
new string[]{"Que","                                                   "},
new string[]{"Qun","                  "},
new string[]{"Ra","  "},
new string[]{"Ram"," "},
new string[]{"Ran","                           "},
new string[]{"Rang","                           "},
new string[]{"Rao","                      "},
new string[]{"Re","         "},
new string[]{"Ren","                                                               "},
new string[]{"Ri","       "},
new string[]{"Rong","                                                          "},
new string[]{"Rou","                            "},
new string[]{"Ru","                                                              "},
new string[]{"Rua"," "},
new string[]{"Ruan","                         "},
new string[]{"Rui","                                        "},
new string[]{"Run","       "},
new string[]{"Ruo","                       "},
new string[]{"Sa","                                 "},
new string[]{"Saeng"," "},
new string[]{"Sai","                  "},
new string[]{"Sal","  "},
new string[]{"San","                                      "},
new string[]{"Sang","             "},
new string[]{"Sao","                                    "},
new string[]{"Se","                                                   "},
new string[]{"Sed"," "},
new string[]{"Sei","  "},
new string[]{"Sen","        "},
new string[]{"Seng","  "},
new string[]{"Seo"," "},
new string[]{"Seon"," "},
new string[]{"Sha","                                                              "},
new string[]{"Shai","                "},
new string[]{"Shan","                                                                                                                                  "},
new string[]{"Shang","                                          "},
new string[]{"Shao","                                                   "},
new string[]{"She","                                                            "},
new string[]{"Shen","                                                                                                                     "},
new string[]{"Sheng","                                                                   "},
new string[]{"Shi","                                                                                                                                                                                                                                                  "},
new string[]{"Shou","                                "},
new string[]{"Shu","                                                                                                                                                     "},
new string[]{"Shua","        "},
new string[]{"Shuai","            "},
new string[]{"Shuan","           "},
new string[]{"Shuang","                           "},
new string[]{"Shui","                     "},
new string[]{"Shun","                  "},
new string[]{"Shuo","                                 "},
new string[]{"Shw"," "},
new string[]{"Si","                                                                                                                         "},
new string[]{"So"," "},
new string[]{"Sol"," "},
new string[]{"Song","                                                     "},
new string[]{"Sou","                                              "},
new string[]{"Su","                                                                                  "},
new string[]{"Suan","             "},
new string[]{"Sui","                                                                                 "},
new string[]{"Sun","                               "},
new string[]{"Suo","                                                            "},
new string[]{"Ta","                                                                         "},
new string[]{"Tae","  "},
new string[]{"Tai","                                                         "},
new string[]{"Tan","                                                                                                        "},
new string[]{"Tang","                                                                                           "},
new string[]{"Tao","                                                                    "},
new string[]{"Teng","                        "},
new string[]{"Ti","                                                                                                                               "},
new string[]{"Tian","                                                                                        "},
new string[]{"Tiao","                                                                 "},
new string[]{"Tie","                         "},
new string[]{"Ting","                                                            "},
new string[]{"Tol"," "},
new string[]{"Ton"," "},
new string[]{"Tong","                                                                                 "},
new string[]{"Tou","                                "},
new string[]{"Tu","                                                                             "},
new string[]{"Tuan","                                       "},
new string[]{"Tui","                                             "},
new string[]{"Tun","                                            "},
new string[]{"Tuo","                                                                                                                  "},
new string[]{"Uu","                                       "},
new string[]{"Wa","                                                  "},
new string[]{"Wai","          "},
new string[]{"Wan","                                                                                                              "},
new string[]{"Wang","                                                "},
new string[]{"Wei","                                                                                                                                                                                                                                          "},
new string[]{"Wen","                                                                                                "},
new string[]{"Weng","                      "},
new string[]{"Wie"," "},
new string[]{"Wo","                                                                 "},
new string[]{"Wu","                                                                                                                                                                                          "},
new string[]{"Xi","                                                                                                                                                                                                                                                                                                                         "},
new string[]{"Xia","                                                                                                  "},
new string[]{"Xian","                                                                                                                                                                                                                                                                 "},
new string[]{"Xiang","                                                                                                  "},
new string[]{"Xiao","                                                                                                                                                                        "},
new string[]{"Xie","                                                                                                                                                                                "},
new string[]{"Xin","                                                               "},
new string[]{"Xing","                                                                        "},
new string[]{"Xiong","                          "},
new string[]{"Xiu","                                                            "},
new string[]{"Xu","                                                                                                                                                                    "},
new string[]{"Xuan","                                                                                                                        "},
new string[]{"Xue","                                                          "},
new string[]{"Xun","                                                                                                                         "},
new string[]{"Ya","                                                                                                               "},
new string[]{"Yan","                                                                                                                                                                                                                                                                                                         "},
new string[]{"Yang","                                                                                                        "},
new string[]{"Yao","                                                                                                                                                        "},
new string[]{"Ye","                                                                                                                    "},
new string[]{"Yi","                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     "},
new string[]{"Yin","                                                                                                                                                                  "},
new string[]{"Ying","                                                                                                                                                               "},
new string[]{"Yo","     "},
new string[]{"Yong","                                                                               "},
new string[]{"You","                                                                                                                                           "},
new string[]{"Yu","                                                                                                                                                                                                                                                                                                                                                            "},
new string[]{"Yuan","                                                                                                                                   "},
new string[]{"Yue","                                                                                       "},
new string[]{"Yun","                                                                                                                              "},
new string[]{"Za","                                   "},
new string[]{"Zad"," "},
new string[]{"Zai","                         "},
new string[]{"Zan","                                                  "},
new string[]{"Zang","                         "},
new string[]{"Zao","                                            "},
new string[]{"Ze","                                                                      "},
new string[]{"Zei","        "},
new string[]{"Zen","       "},
new string[]{"Zeng","                         "},
new string[]{"Zha","                                                                                                       "},
new string[]{"Zhai","                                          "},
new string[]{"Zhan","                                                                                                "},
new string[]{"Zhang","                                                        "},
new string[]{"Zhao","                                                             "},
new string[]{"Zhe","                                                                                       "},
new string[]{"Zhen","                                                                                                                                      "},
new string[]{"Zheng","                                                                                  "},
new string[]{"Zhi","                                                                                                                                                                                                                                                                                                                    "},
new string[]{"Zhong","                                                                          "},
new string[]{"Zhou","                                                                                                        "},
new string[]{"Zhu","                                                                                                                                                                          "},
new string[]{"Zhua","         "},
new string[]{"Zhuai","        "},
new string[]{"Zhuan","                                                      "},
new string[]{"Zhuang","                                    "},
new string[]{"Zhui","                                              "},
new string[]{"Zhun","                             "},
new string[]{"Zhuo","                                                                                                   "},
new string[]{"Zi","                                                                                                                       "},
new string[]{"Zo","  "},
new string[]{"Zong","                                                                         "},
new string[]{"Zou","                                "},
new string[]{"Zu","                                                         "},
new string[]{"Zuan","                     "},
new string[]{"Zui","                                            "},
new string[]{"Zun","                            "},
new string[]{"Zuo","                                              "}
};
    #endregion
    public static string GetQuanPing(string str)
    {
        if (str == null)
            return null;
        Encoding ed = Encoding.GetEncoding("GB2312");
        if (ed == null)
            throw (new ArgumentException("       GB2312"));
        int bh = 0;
        char[] charary = str.ToCharArray();
        byte[] bAry = new byte[2];
        StringBuilder rtnSb = new StringBuilder();
        for (int i = 0; i < charary.Length; i++)
        {

            bAry = ed.GetBytes(charary[i].ToString());
            if (bAry.Length == 1)
            {
                rtnSb.Append(charary[i]);
                continue;
            }
            bh = bAry[0] - 0xA0;
            if (0x10 <= bh && bh <= 0x57)// gb2312  
            {
                bool isFind = false;
                for (int j = 0; j < _Allhz.Length; j++)
                {
                    if (_Allhz[j][1].IndexOf(charary[i]) != -1)
                    {
                        rtnSb.Append(_Allhz[j][0]);
                        isFind = true;
                        break;
                    }
                }
                if (!isFind)
                    rtnSb.Append(charary[i]);

            }
            else
                rtnSb.Append(charary[i]);

        }
        return rtnSb.ToString();
    }
}


移動先:https://www.cnblogs.com/jwfgsf/articles/1348668.html