Kanji to Pinyin

Source: Internet
Author: User

Using system;using system.collections.generic;using system.linq;using system.text;using            System.text.regularexpressions;public class pinyin{//define phonetic region encoded array private static int[] GetValue = new int[] { -20319,-20317,-20304,-20295,-20292,-20283,-20265,-20257,-20242,-20230,-20051,-20036, 200 32,-20026,-20002,-19990,-19986,-19982,-19976,-19805,-19784,-19775,-19774,-19763, -19756,-19751,-19746,-1974 1,-19739,-19728,-19725,-19715,-19540,-19531,-19525,-19515, -19500,-19484,-19479,-19467,-19289,-19288,-19281 , -19275,-19270,-19263,-19261,-19249, -19243,-19242,-19238,-19235,-19227,-19224,-19218,-19212,-19038,-19023,                -19018,-19006, -19003,-18996,-18977,-18961,-18952,-18783,-18774,-18773,-18763,-18756,-18741,-18735, -18731,-18722,-18710,-18697,-18696,-18526,-18518,-18501,-18490,-18478,-18463,-18448, -18447,-18446, -18239,-18237,-18231,-18220,-18211,-18201,-18184,-18183,-18181,-18012, -17997,-17988,-17970,-17964,-17961,-17950,-17947,-17931,-17928,-17922,-17759,-17752, -17733,-17730,-17721,-17703,-17701,-17697,-17692,-17683,-17676,-17496,-17487,-17482, -17468,-17454,- 17433,-17427,-17417,-17202,-17185,-16983,-16970,-16942,-16915,-16733, -16708,-16706,-16689,-16664,-16657,-1 6647,-16474,-16470,-16465,-16459,-16452,-16448, -16433,-16429,-16427,-16423,-16419,-16412,-16407,-16403,-16 401,-16393,-16220,-16216, -16212,-16205,-16202,-16187,-16180,-16171,-16169,-16158,-16155,-15959,-15958,-159 44, -15933,-15920,-15915,-15903,-15889,-15878,-15707,-15701,-15681,-15667,-15661,-15659,-15 652,-15640,-15631,-15625,-15454,-15448,-15436,-15435,-15419,-15416,-15408,-15394, -15385,-15377,-15375,-153 69,-15363,-15362,-15183,-15180,-15165,-15158,-15153,-15150, -15149,-15144,-15143,-15141,-15140,-15139,-1512 8,-15121,-15119,-15117,-15110,-15109, -14941,-14937,-14933,-14930,-14929,-14928,-14926,-14922,-14921,-14914,-14908,-14902, -14894,-14889,-14882,-14873,-14871,-14857,-14678,-14674,-14670,-14668,-14663,-14654, -14645,-14630,- 14594,-14429,-14407,-14399,-14384,-14379,-14368,-14355,-14353,-14345, -14170,-14159,-14151,-14149,-14145,-1 4140,-14137,-14135,-14125,-14123,-14122,-14112, -14109,-14099,-14097,-14094,-14092,-14090,-14087,-14083,-13 917,-13914,-13910,-13907, -13906,-13905,-13896,-13894,-13878,-13870,-13859,-13847,-13831,-13658,-13611,-136 01, -13406,-13404,-13400,-13398,-13395,-13391,-13387,-13383,-13367,-13359,-13356,-13343,-13 340,-13329,-13326,-13318,-13147,-13138,-13120,-13107,-13096,-13095,-13091,-13076, -13068,-13063,-13060,-128 88,-12875,-12871,-12860,-12858,-12852,-12849,-12838,-12831, -12829,-12812,-12802,-12607,-12597,-12594,-1258 5,-12556,-12359,-12346,-12320,-12300, -12120,-12099,-12089,-12074,-12067,-12058,-12039,-11867,-11861,-11847,-11831,-11798, -11781,-11604,-11589,-11536,-11358,-11340,-11339,-11324,-11303,-11097,-11077,-11067, -11055,-11052,- 11045,-11041,-11038,-11024,-11020,-11019,-11018,-11014,-10838,-10832, -10815,-10800,-10790,-10780,-10764,-1 0587,-10544,-10533,-10519,-10331,-10329,-10328, -10322,-10315,-10309,-10307,-10296,-10281,-10274,-10270,-10    262,-10260,-10256,-10254}; Define phonetic array private static string[] Getstr = 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                "," Duo "," Dou "," 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", "June", "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 "," L UO "," 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 "," N IU "," Nong "," Nu "," Nv "," Nuan "," Nue "," Nuo "," O "," Ou "," Pa "," Pai "," Pan "," Pang "," Pao "," Pei "," Pen "," Peng "," PI "," Pi An "," 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", "Zhu           A "," Zhuai "," Zhuan "," Zhuang "," Zhui "," Zhun "," Zhuo "," Zi "," Zong "," Zou "," Zu "," Zuan "," Zui "," Zun "," Zuo "    }; <summary>////convert Chinese characters to pinyin///</summary>//<param name= "str" > Kanji string </param>//&L t;returns> Pinyin string </returns> public string getabc (String str) {Regex reg = new Regex ("^[\u4e00-\u9fa5] $ ");//Verify input is Chinese byte[] arr = new byte[2];//defines byte array string pystr =" ";//define string variable to return pinyin char[] Mchar = St R.tochararray ();/Gets the character array corresponding to the kanji return getstr (Mchar,pystr,reg,arr);//returns the kanji Pinyin} private string Getstr (char[] mchar,string pyst        R,regex reg,byte[] arr) {int asc = 0, M1 = 0, M2 = 0; for (int j = 0; J < Mchar.length; J + +) {if (reg. IsMatch (Mchar[j]. ToString ()))//If the input is kanji {arr = System.Text.Encoding.Default.GetBytes (Mchar[j].                ToString ());                M1 = (short) (arr[0]);                M2 = (short) (arr[1]);                ASC = M1 * + m2-65536;                if (ASC > 0 && ASC <) {PYSTR + = Mchar[j]; } else {switch (ASC) {case-9 254:pystr + = "Zhen";                        Break Case-8985:pystr + = "Qian";                        Break Case-5463:pystr + = "Jia";           Break             Case-8274:pystr + = "Ge";                        Break Case-5448:pystr + = "Ga";                        Break Case-5447:pystr + = "La";                        Break Case-4649:pystr + = "Chen";                        Break Case-5436:pystr + = "Mao";                        Break Case-5213:pystr + = "Mao";                        Break Case-3597:pystr + = "Die";                        Break Case-5659:pystr + = "Tian";                        Break                                default:for (int i = (getvalue.length-1); I >= 0; i--) {                                    if (Getvalue[i] <= ASC)//Determine if the Pinyin region encoding of Chinese characters is within the specified range {         Pystr + = getstr[i];//gets the corresponding pinyin if it is not out of range                           Break                    }} break; }}} else//if not kanji {pystr + = Mchar[j].    ToString ();//If it is not kanji then return}} return pystr; }}

Kanji to pinyin

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.