欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

c#获取文字全拼音

程序员文章站 2022-03-06 21:14:52
1 class Program 2 { 3 /// 4 /// 获得拼音 5 /// 6 /// 汉字 7 /// 8 public static string GetSpell(string str_Spell) 9 { 1... ......
  1     class program
  2     {
  3         /// <summary>
  4         /// 获得拼音
  5         /// </summary>
  6         /// <param name="str_spell">汉字</param>
  7         /// <returns></returns>
  8         public static string getspell(string str_spell)
  9         {
 10 
 11             try
 12             {
 13                 hashtable t = gethashtable();
 14 
 15                 byte[] btarray = system.text.encoding.default.getbytes(str_spell);//system.text.encoding.default要使用跟本地服务器一样的编码格式,否则会出来的跟预期不一样
 16                 int p;
 17                 stringbuilder ret = new stringbuilder();
 18                 for (int i = 0; i < btarray.length; i++)
 19                 {
 20                     p = (int)btarray[i];
 21                     if (p > 160)
 22                     {
 23                         p = p * 256 + btarray[++i] - 65536;
 24                         ret.append(getstring(t, p));
 25                     }
 26                     else
 27                     {
 28                         ret.append((char)p);
 29                     }
 30                 }
 31                 t.clear();
 32                 return ret.tostring();
 33             }
 34             catch
 35             {
 36                 return "";
 37             }
 38 
 39         }
 40         private static string getstring(hashtable hashtable, int num)
 41         {
 42             if (num < -20319 || num > -10247)
 43                 return "";
 44             while (!hashtable.containskey(num))
 45                 num--;
 46             return hashtable[num].tostring();
 47         }
 48 
 49         private static hashtable gethashtable()
 50         {
 51             hashtable ht = new hashtable();
 52             ht.add(-20319, "a");
 53             ht.add(-20317, "ai"); ht.add(-20304, "an"); ht.add(-20295, "ang");
 54             ht.add(-20292, "ao"); ht.add(-20283, "ba"); ht.add(-20265, "bai");
 55             ht.add(-20257, "ban"); ht.add(-20242, "bang"); ht.add(-20230, "bao");
 56             ht.add(-20051, "bei"); ht.add(-20036, "ben"); ht.add(-20032, "beng");
 57             ht.add(-20026, "bi"); ht.add(-20002, "bian"); ht.add(-19990, "biao");
 58             ht.add(-19986, "bie"); ht.add(-19982, "bin"); ht.add(-19976, "bing");
 59             ht.add(-19805, "bo"); ht.add(-19784, "bu"); ht.add(-19775, "ca");
 60             ht.add(-19774, "cai"); ht.add(-19763, "can"); ht.add(-19756, "cang");
 61             ht.add(-19751, "cao"); ht.add(-19746, "ce"); ht.add(-19741, "ceng");
 62             ht.add(-19739, "cha"); ht.add(-19728, "chai"); ht.add(-19725, "chan");
 63             ht.add(-19715, "chang"); ht.add(-19540, "chao"); ht.add(-19531, "che");
 64             ht.add(-19525, "chen"); ht.add(-19515, "cheng"); ht.add(-19500, "chi");
 65             ht.add(-19484, "chong"); ht.add(-19479, "chou"); ht.add(-19467, "chu");
 66             ht.add(-19289, "chuai"); ht.add(-19288, "chuan"); ht.add(-19281, "chuang");
 67             ht.add(-19275, "chui"); ht.add(-19270, "chun"); ht.add(-19263, "chuo");
 68             ht.add(-19261, "ci"); ht.add(-19249, "cong"); ht.add(-19243, "cou");
 69             ht.add(-19242, "cu"); ht.add(-19238, "cuan"); ht.add(-19235, "cui");
 70             ht.add(-19227, "cun"); ht.add(-19224, "cuo"); ht.add(-19218, "da");
 71             ht.add(-19212, "dai"); ht.add(-19038, "dan"); ht.add(-19023, "dang");
 72             ht.add(-19018, "dao"); ht.add(-19006, "de"); ht.add(-19003, "deng");
 73             ht.add(-18996, "di"); ht.add(-18977, "dian"); ht.add(-18961, "diao");
 74             ht.add(-18952, "die"); ht.add(-18783, "ding"); ht.add(-18774, "diu");
 75             ht.add(-18773, "dong"); ht.add(-18763, "dou"); ht.add(-18756, "du");
 76             ht.add(-18741, "duan"); ht.add(-18735, "dui"); ht.add(-18731, "dun");
 77             ht.add(-18722, "duo"); ht.add(-18710, "e"); ht.add(-18697, "en");
 78             ht.add(-18696, "er"); ht.add(-18526, "fa"); ht.add(-18518, "fan");
 79             ht.add(-18501, "fang"); ht.add(-18490, "fei"); ht.add(-18478, "fen");
 80             ht.add(-18463, "feng"); ht.add(-18448, "fo"); ht.add(-18447, "fou");
 81             ht.add(-18446, "fu"); ht.add(-18239, "ga"); ht.add(-18237, "gai");
 82             ht.add(-18231, "gan"); ht.add(-18220, "gang"); ht.add(-18211, "gao");
 83             ht.add(-18201, "ge"); ht.add(-18184, "gei"); ht.add(-18183, "gen");
 84             ht.add(-18181, "geng"); ht.add(-18012, "gong"); ht.add(-17997, "gou");
 85             ht.add(-17988, "gu"); ht.add(-17970, "gua"); ht.add(-17964, "guai");
 86             ht.add(-17961, "guan"); ht.add(-17950, "guang"); ht.add(-17947, "gui");
 87             ht.add(-17931, "gun"); ht.add(-17928, "guo"); ht.add(-17922, "ha");
 88             ht.add(-17759, "hai"); ht.add(-17752, "han"); ht.add(-17733, "hang");
 89             ht.add(-17730, "hao"); ht.add(-17721, "he"); ht.add(-17703, "hei");
 90             ht.add(-17701, "hen"); ht.add(-17697, "heng"); ht.add(-17692, "hong");
 91             ht.add(-17683, "hou"); ht.add(-17676, "hu"); ht.add(-17496, "hua");
 92             ht.add(-17487, "huai"); ht.add(-17482, "huan"); ht.add(-17468, "huang");
 93             ht.add(-17454, "hui"); ht.add(-17433, "hun"); ht.add(-17427, "huo");
 94             ht.add(-17417, "ji"); ht.add(-17202, "jia"); ht.add(-17185, "jian");
 95             ht.add(-16983, "jiang"); ht.add(-16970, "jiao"); ht.add(-16942, "jie");
 96             ht.add(-16915, "jin"); ht.add(-16733, "jing"); ht.add(-16708, "jiong");
 97             ht.add(-16706, "jiu"); ht.add(-16689, "ju"); ht.add(-16664, "juan");
 98             ht.add(-16657, "jue"); ht.add(-16647, "jun"); ht.add(-16474, "ka");
 99             ht.add(-16470, "kai"); ht.add(-16465, "kan"); ht.add(-16459, "kang");
100             ht.add(-16452, "kao"); ht.add(-16448, "ke"); ht.add(-16433, "ken");
101             ht.add(-16429, "keng"); ht.add(-16427, "kong"); ht.add(-16423, "kou");
102             ht.add(-16419, "ku"); ht.add(-16412, "kua"); ht.add(-16407, "kuai");
103             ht.add(-16403, "kuan"); ht.add(-16401, "kuang"); ht.add(-16393, "kui");
104             ht.add(-16220, "kun"); ht.add(-16216, "kuo"); ht.add(-16212, "la");
105             ht.add(-16205, "lai"); ht.add(-16202, "lan"); ht.add(-16187, "lang");
106             ht.add(-16180, "lao"); ht.add(-16171, "le"); ht.add(-16169, "lei");
107             ht.add(-16158, "leng"); ht.add(-16155, "li"); ht.add(-15959, "lia");
108             ht.add(-15958, "lian"); ht.add(-15944, "liang"); ht.add(-15933, "liao");
109             ht.add(-15920, "lie"); ht.add(-15915, "lin"); ht.add(-15903, "ling");
110             ht.add(-15889, "liu"); ht.add(-15878, "long"); ht.add(-15707, "lou");
111             ht.add(-15701, "lu"); ht.add(-15681, "lv"); ht.add(-15667, "luan");
112             ht.add(-15661, "lue"); ht.add(-15659, "lun"); ht.add(-15652, "luo");
113             ht.add(-15640, "ma"); ht.add(-15631, "mai"); ht.add(-15625, "man");
114             ht.add(-15454, "mang"); ht.add(-15448, "mao"); ht.add(-15436, "me");
115             ht.add(-15435, "mei"); ht.add(-15419, "men"); ht.add(-15416, "meng");
116             ht.add(-15408, "mi"); ht.add(-15394, "mian"); ht.add(-15385, "miao");
117             ht.add(-15377, "mie"); ht.add(-15375, "min"); ht.add(-15369, "ming");
118             ht.add(-15363, "miu"); ht.add(-15362, "mo"); ht.add(-15183, "mou");
119             ht.add(-15180, "mu"); ht.add(-15165, "na"); ht.add(-15158, "nai");
120             ht.add(-15153, "nan"); ht.add(-15150, "nang"); ht.add(-15149, "nao");
121             ht.add(-15144, "ne"); ht.add(-15143, "nei"); ht.add(-15141, "nen");
122             ht.add(-15140, "neng"); ht.add(-15139, "ni"); ht.add(-15128, "nian");
123             ht.add(-15121, "niang"); ht.add(-15119, "niao"); ht.add(-15117, "nie");
124             ht.add(-15110, "nin"); ht.add(-15109, "ning"); ht.add(-14941, "niu");
125             ht.add(-14937, "nong"); ht.add(-14933, "nu"); ht.add(-14930, "nv");
126             ht.add(-14929, "nuan"); ht.add(-14928, "nue"); ht.add(-14926, "nuo");
127             ht.add(-14922, "o"); ht.add(-14921, "ou"); ht.add(-14914, "pa");
128             ht.add(-14908, "pai"); ht.add(-14902, "pan"); ht.add(-14894, "pang");
129             ht.add(-14889, "pao"); ht.add(-14882, "pei"); ht.add(-14873, "pen");
130             ht.add(-14871, "peng"); ht.add(-14857, "pi"); ht.add(-14678, "pian");
131             ht.add(-14674, "piao"); ht.add(-14670, "pie"); ht.add(-14668, "pin");
132             ht.add(-14663, "ping"); ht.add(-14654, "po"); ht.add(-14645, "pu");
133             ht.add(-14630, "qi"); ht.add(-14594, "qia"); ht.add(-14429, "qian");
134             ht.add(-14407, "qiang"); ht.add(-14399, "qiao"); ht.add(-14384, "qie");
135             ht.add(-14379, "qin"); ht.add(-14368, "qing"); ht.add(-14355, "qiong");
136             ht.add(-14353, "qiu"); ht.add(-14345, "qu"); ht.add(-14170, "quan");
137             ht.add(-14159, "que"); ht.add(-14151, "qun"); ht.add(-14149, "ran");
138             ht.add(-14145, "rang"); ht.add(-14140, "rao"); ht.add(-14137, "re");
139             ht.add(-14135, "ren"); ht.add(-14125, "reng"); ht.add(-14123, "ri");
140             ht.add(-14122, "rong"); ht.add(-14112, "rou"); ht.add(-14109, "ru");
141             ht.add(-14099, "ruan"); ht.add(-14097, "rui"); ht.add(-14094, "run");
142             ht.add(-14092, "ruo"); ht.add(-14090, "sa"); ht.add(-14087, "sai");
143             ht.add(-14083, "san"); ht.add(-13917, "sang"); ht.add(-13914, "sao");
144             ht.add(-13910, "se"); ht.add(-13907, "sen"); ht.add(-13906, "seng");
145             ht.add(-13905, "sha"); ht.add(-13896, "shai"); ht.add(-13894, "shan");
146             ht.add(-13878, "shang"); ht.add(-13870, "shao"); ht.add(-13859, "she");
147             ht.add(-13847, "shen"); ht.add(-13831, "sheng"); ht.add(-13658, "shi");
148             ht.add(-13611, "shou"); ht.add(-13601, "shu"); ht.add(-13406, "shua");
149             ht.add(-13404, "shuai"); ht.add(-13400, "shuan"); ht.add(-13398, "shuang");
150             ht.add(-13395, "shui"); ht.add(-13391, "shun"); ht.add(-13387, "shuo");
151             ht.add(-13383, "si"); ht.add(-13367, "song"); ht.add(-13359, "sou");
152             ht.add(-13356, "su"); ht.add(-13343, "suan"); ht.add(-13340, "sui");
153             ht.add(-13329, "sun"); ht.add(-13326, "suo"); ht.add(-13318, "ta");
154             ht.add(-13147, "tai"); ht.add(-13138, "tan"); ht.add(-13120, "tang");
155             ht.add(-13107, "tao"); ht.add(-13096, "te"); ht.add(-13095, "teng");
156             ht.add(-13091, "ti"); ht.add(-13076, "tian"); ht.add(-13068, "tiao");
157             ht.add(-13063, "tie"); ht.add(-13060, "ting"); ht.add(-12888, "tong");
158             ht.add(-12875, "tou"); ht.add(-12871, "tu"); ht.add(-12860, "tuan");
159             ht.add(-12858, "tui"); ht.add(-12852, "tun"); ht.add(-12849, "tuo");
160             ht.add(-12838, "wa"); ht.add(-12831, "wai"); ht.add(-12829, "wan");
161             ht.add(-12812, "wang"); ht.add(-12802, "wei"); ht.add(-12607, "wen");
162             ht.add(-12597, "weng"); ht.add(-12594, "wo"); ht.add(-12585, "wu");
163             ht.add(-12556, "xi"); ht.add(-12359, "xia"); ht.add(-12346, "xian");
164             ht.add(-12320, "xiang"); ht.add(-12300, "xiao"); ht.add(-12120, "xie");
165             ht.add(-12099, "xin"); ht.add(-12089, "xing"); ht.add(-12074, "xiong");
166             ht.add(-12067, "xiu"); ht.add(-12058, "xu"); ht.add(-12039, "xuan");
167             ht.add(-11867, "xue"); ht.add(-11861, "xun"); ht.add(-11847, "ya");
168             ht.add(-11831, "yan"); ht.add(-11798, "yang"); ht.add(-11781, "yao");
169             ht.add(-11604, "ye"); ht.add(-11589, "yi"); ht.add(-11536, "yin");
170             ht.add(-11358, "ying"); ht.add(-11340, "yo"); ht.add(-11339, "yong");
171             ht.add(-11324, "you"); ht.add(-11303, "yu"); ht.add(-11097, "yuan");
172             ht.add(-11077, "yue"); ht.add(-11067, "yun"); ht.add(-11055, "za");
173             ht.add(-11052, "zai"); ht.add(-11045, "zan"); ht.add(-11041, "zang");
174             ht.add(-11038, "zao"); ht.add(-11024, "ze"); ht.add(-11020, "zei");
175             ht.add(-11019, "zen"); ht.add(-11018, "zeng"); ht.add(-11014, "zha");
176             ht.add(-10838, "zhai"); ht.add(-10832, "zhan"); ht.add(-10815, "zhang");
177             ht.add(-10800, "zhao"); ht.add(-10790, "zhe"); ht.add(-10780, "zhen");
178             ht.add(-10764, "zheng"); ht.add(-10587, "zhi"); ht.add(-10544, "zhong");
179             ht.add(-10533, "zhou"); ht.add(-10519, "zhu"); ht.add(-10331, "zhua");
180             ht.add(-10329, "zhuai"); ht.add(-10328, "zhuan"); ht.add(-10322, "zhuang");
181             ht.add(-10315, "zhui"); ht.add(-10309, "zhun"); ht.add(-10307, "zhuo");
182             ht.add(-10296, "zi"); ht.add(-10281, "zong"); ht.add(-10274, "zou");
183             ht.add(-10270, "zu"); ht.add(-10262, "zuan"); ht.add(-10260, "zui");
184             ht.add(-10256, "zun"); ht.add(-10254, "zuo"); ht.add(-10247, "zz");ht.add(-9254,"zhen")
185             return ht;
186         }
187 
188         static void main(string[] args)
189         {
190             var result = getspell("张三");
191             console.writeline(result);
192             console.readkey();
193         }
194     }
c#获取文字全拼音