Java реализует преобразование китайских иероин в пиниин
Класс конверсии
public class PINYINChinese { private static int[] pyvalue = new int[] { -20319, -20317, -20304, -20295, -20292, -20283, -20265, -20257, -20242, -20230, -20051, -20036, -20032, -20026, -20002, -19990, -19986, -19982, -19976, -19805, -19784, -19775, -19774, -19763, -19756, -19751, -19746, -19741, -19739, -19728, -1977, -1977, -1977, -1977, -1977, -1977, -1977, -1977, -1977, -1977, -1977, -1977, -1977 -19715, -19540, -19531, -19525, -19515, -19500, -19484, -19479, -19467, -19289, -19288, -19281, -19275, -19270, -19263, -19261, -19261, -19211, -19211, -19211, -19281, -19281, -19281, -19211, -19281, -19275, -19270, -19211, -19281, -19275, -19270, -19281, -19281, -19281, -19281, -19281, -19281, -19281, -19281, -1927 -19243, -19242, -19238, -19235, -19227, -19224, -19218, -19212, -19038, -19023, -19018, -19006, -19003, -18966, -18977, -189612, -19003. -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, -1797778888, -18181, -18012, -1797788888, -181788, -18181, -18012, -179778888, -181788, -18181, -181788, -18181, -18188, -1817788, -18181, -18012, -1, -17964, -17961, -17950, -17947, -17931, -17928, -17922, -17759, -17752, -17733, -17730, -17721, -177703, -17701, -176767676, -1773, -17703, -17701, -176767676, -17703, -17701, -17676767, -17703, -17701, -1767676, -17703, -17701, -17767, -17703, -17701, -17676, -17766, -177 -17676, -17496, -17487, -17482, -17468, -17454, -17433, -17427, -17417, -17202, -17185, -16983, -16970, -16942, -16917333, -16970, -16942, -1691733, -16733, -16970, -16942, -16773, -16733, -16970, -16942, -167733, -16970, -1692, -16733, -16970, -16942, -16733, -16970, -16942, -16733, -1697 -16706, -16689, -16664, -16657, -16647, -16474, -16470, -16465, -16459, -16452, -16448, -16433, -16429 ,16427, -1642, -16419, -1641 -16412, -16407, -16403, -16401, -16393, -16220, -16216, -16212, -16205, -16202, -16187, -16180, -16171, -16169, -16158, -16555555559, -16955555559, -16171, -169, -1615555555559, -16171, -16169, -161585559, -16171, -169, -161555559, -16171, -169, -16155 -15958, -15944, -15933, -15920, -15915, -15903, -15889, -15878, -15707, -15701, -15681, -15667, -15611, -15659, -15652, -156667, -1561, -15659, -1566667, -15661, -15659, -156667, -1561, -15659, -15667, -1561, -15659, -15667, -1561, -156667, -1561, -156667, -15661, -15667, -1561, -15666 -15625, -15454, -15448, -15436, -15435, -15419, -15416, -15408, -15394, -15385, -15377, -15375, -15369 ,15363, -15362, -15181, -15333, -1533, -1536, -1533, -1536, -1533, -15336, -1533, -1533, -153333, -15333, -1533 -15180, -15165, -15158, -15153, -15150, -15149, -15144, -15143, -15141, -15140, -15139, -15128, -15121, -151119, -15110, -15110, -15110, -15110, -15110, -15110, -15110, -15110, -15110, -15110, -15110, -15110, -15110, -1511111 -14941, -14937, -14933, -14930, -14929, -14928, -14926, -14922, -14921, -14914, -14908, -14902, -14894, -14899, -148887, -1487, -14887, -1487, -1487, -1487, -14887, -14887, -1487, -14887, -14887, -14887, -14887, -14902, -14887, -14902, -1487, -14902, -14902, -14902, -14902, -14902, -14902, -14902, -14902, -14921, -14914. -14857, -14678, -14674, -14670, -14668, -14663, -14654, -14645, -14630, -14594, -14429, -14407, -14399, -14384, -14379, -14368, -14355, -14353, -14345, -14170, -14159, -14151, -14149, -14145, -14140, -14137, -14135, -14125, -14123, -14122 ,1412, -14099, -14099, -14099, -14099, -14099, -14099, -14099, -14099, -14099, -14099, -14099, -14099, -14099, -14099, -14099, -14099, -14099, -14099, -14123, -14123, -14099, -14099, -14123, -14123, -14123, -14099, -14123, -1412 -14094, -14092, -14090, -14087, -14083, -13917, -13914, -13910, -13907, -13906, -13905, -13896, -1394, -13878, -13870, -13896, -13894, -13878, -138796, -13896, -13896, -13896, -13896, -13896, -13896, -13894, -13878, -13896, -13896. -13831, -13658, -13611, -13601, -13406, -13404, -13400, -13398, -13395, -13391, -13387, -133333, -13367, -13359, -13356, -1333333333330 гг. -13329, -13326, -13318, -13147, -13138, -13120, -13107, -13096, -13095, -13091, -13076, -13068, -13063, -13060, -12888, -12878788878 гг. -12858, -12852, -12849, -12838, -12831, -12829, -12812, -12802, -12607, -12597, -12594, -12585, -1256, -12359, -12346, -12585, -12556, -12359, -1232320, -12585, -12566, -12359, -1232320, -12585, -12556, -12359, -12585, -1258 -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, -10587, -10544, -10533, -10519, -10331, -10329, -10328, -10322, -10315, -10309, -10307, -10296, -10281, -10274, -10270. -10254}; public static String[] pystr = new String[] { "a", "ai", "an", "ang", "ao", "ba", "bai", "ban", "bang", "bao", "bei", "ben", "beng", "bian", "biao", "bie", "bin", "bing", "bo", "bu", "ca", "ca", «cai», «can», «cang», «cao», «cao», «ce», «ceng», «Cha», «chai», «Chan», «Chang», «Chao», «Che», «Chen», «Ченг», «Ченг», «Чи», «Чу», «Чу», «Чу», «Чу», «Чу», «Чу», «Чу», «Чу», «Чу», «Чу», «Чу», «Чу», «Чу», «Чу», «Чу», «Чу», «Чу», «Чу», «Чу», «Чу», «Чу», «Чу», «Чу», «Чу», «Чу», «Чу», «Чу», «Чу», «Чу», «Чу», «Чу», «Чу», «Чу», «Чен», «Чу», "chuo", "da", "dai", "dan", "dang", "dao", "de", "deng", "di", "dian", "die", "ding", "diu", "dong", "dou", "dou", "du", "duan", "duan", "duo", "duo", "dun", "duo", "e", "en", «Er», «FA», «FAN», «Fang», «Fei», «Fen», «Feng», «Fou», «Fou», «Fu», «Gai», «Gai», «Gan», «Gang», «Gang», «Гао», «Гао», «Гао», «Ge», «Gei», «Ge», «Ge», «Ge», «Ge», «Ge», «Ge», «Ge», «Ge», «Ge», «Ge», «Gao», «Ge», «Ge», «Ge», «Gao», «Gao», «Ge». «gu», «gua», «guai», «guan», «guang», «gui», «Gun», «guo», «Ha», «hai», «han», «Hang», «Hao», «He», «Hei», «Hen», «Hen», «Hen», «Hen», Hong »,« Hou »,« Hu »,« Hu »,« Hu »,« Hu »,« Hu »,« Hu »,« Hu »,« Hu »,« Hu »,« Hua »,« hu »,« Hua »,« Hua »,« Hua »,« Hua »,« Hua »,« Hua »,« hu »,« hu »,« hu »,« Hu »,« Hu »,« Hua »,« Hua »,« Hu »,« Hu »,« Hu »,« Hu »,« Hu »,« HU »,« HU »,« H "hua", "hua", "hua", "hua", "huang", "huo", "huo", "ji", "ji", "jia", "jian", "jiang", "jia", "jia", "jia", "jia", "jia", "jia", "jia", "jia", "jia", "jia", "jia", "jia", "jia", "jia", "jia", "jia", "jia", "jia", "jia", "jiu", "ju", "juan", "jue", "jue", "jun", "ka", "kai", "kan", "kang", "kao", "ke", "ken", "ken", «Kong», «Kong», «Kou», «ku», «kua», «kuai», «kuan», «kuang», «kuang», «kuo», «kuo», «la», «lai», «Lan», «Lang», Lao «Le», «Le», «La», «La», «La», «La», «La», «La», «La», «Lan», «Lan», «Lan», «Lan», «Lan», «Lan», «Lan», «lan "liang", "lia", "liao", "liao", "lie", "lin", "ling", "liu", "long", "lou", "lu", "lu", "lv", "luan", "lue", "lun", "luo", "ma", "mai", "man", "meng", "mao", "me", "mei", «Мужчины», «Meng», «Mian», «Miao», «Miao», «mie», «min», «ming», «miu», «mo», «mou», «mu», «na», «nai», «nai», «nan», «nang», «nao», «nao», «ne», «ne», «ne», «ne», «ne», «ne», «ne», «ne», «ne», «ne», «ne», «ne», «ne», «ne», «ne», «ne», «ne», «ne», «ne», «ne», «nev», «ne», «ne», «nev», «nev», «ne», «nev», «ne». «Niang», «nie», «Nin», «ning», «niu», «nong», «nu», «nv», «nuan», «nue», «nuo», «o», «ou», «pa», «pai», «pan», «pang», «Pao», «Pei», «pi», «pi», «pi», «pi», «pio», «pio», «pio», «pio», «pio», «pio», «pi», «pi», «pi», «pi», «pi», «pi», «pi», «pi», «pi», «pi». «Piao», «Piao», «Pie», «Pin», «Ping», «Po», «Pu», «Qi», «Qia», «Qian», «Qiang», «Qiao», «Qie», «Qie», «Qiong», «Qing», «Qiong», «Qiong», «qu», «quun», «quun», «quun», «quun», «quun», «quun», «quun», «quun», «quun», «quun», «quun», «quun», «quun», «quun» « «rang», «rao», «re», «ren», «ren», «reng», «ri», «rong», «rou», «ru», «ruan», «rui», «run», «ruo», «sa», «sai», «san», «Sang», «Sai», «Shang», «Shu», «Sho», «Sho», «Sho», «Sho», «Sho», «Sho», «Sho», «Sho», «Sho», «Sho», «Sho», «Sho», «Sho», «Sho», «Shu», «Sho», «Sho», «Sho», «Sho», «Sho», «Sho», «Sho», «Sho», «Sho», «Sho», «Sho», «Sho», «Sho». «Si», «Song», «Sou», «Su», «Suan», «Suan», «Sun», «Suo», «Ta», «Tai», «Tan», «Tang», «Tao», «Te», «Teng», «Ti», «Tian», «Tail», «Tie», «Ting», «TU», «TU», «TU», «TU», «TU», «TU», «TU», «TU», «TU», «TU», «TU», «TU», «TU», «Ту», «Ту», «Ту», «Ту». "tuo", "tuo", "tuo", "tuo", "wa", "wai", "wan", "wang", "wei", "wen", "wen", "wen", "wen", "wen", "wen", "wo", "wu", "xi", "xia", "xian", "xiang", "xiao", "xie", «XIN», «XING», «Xiong», «XIU», «Xu», «Xuan», «Xue», «Xue», «Xun», «Ya», «Yan», «Yang», «Yao», «Ye», «Yi», «Yan», «Ying», «Ying», «y», «y», «y», «y», «y», «y», «y», «y», «y», «y», «y», «y», «y», «y», «y», «y», «y», «y», «y», «y», «y», «y», «y», «y», «y», «y», «y», «y», «y ying», «ye», «y», «y ying», «ye», «y», «y ying», «y ying», «йо «Yue», «Yun», «za», «Zai», «Zan», «Zang», «Zao», «Ze», «Zei», «Zei», «Zen», «Zha», «Zhai», «Zhan», «Zhang», «Zhao», «Zhen», «Zhon», «Zhon», «Zhon», «Zhon», «Zhen», «Zhon», «Zhon», «Zhon», «Zhon», «Zhon», «Zhon», «Zhon», «Zhon», «Zhon», «Zhon», «Zhon», «Zhon», «Zhon», «Zhon», «Zhen «Чжоу», «Чжу», «Чжуа», «Чжуаи», «Чжуань», «Чжуан», «Чжуан», «Чжуо», «Чжуо», «Чжуо», «Чжуо», «Зи», «Зу», «Зу», «Зуан», «Зуа»; частный буфер строк -повестки; частный строковый ресурс; Частный статический символ ParmentParser ParmentParser = new ParmentParser (); Public Static ParmateParser getInstance () {return ParmentParser; } public String getResource () {return resource; } public void setResource (String Resource) {this.Resource = resource; } / ** * Китайские символы преобразуются в ASCII * * * / private int getchsascii (String chs) {int asc = 0; try {byte [] bytes = chs.getbytes ("gb2312"); if (bytes == null || bytes.length> 2 || bytes.length <= 0) {бросить новое runtimeexception ("string string resource"); } if (bytes.length == 1) {asc = bytes [0]; } if (bytes.length == 2) {int highbyte = 256 + bytes [0]; int lowbyte = 256 + байты [1]; ASC = (256 * Highbyte + Lowbyte) - 256 * 256; }} catch (Exception e) {System.out .println ("error: Chinesspelling.class-getchsascii (String chs)" + e); } вернуть ASC; } / ** * Один слов int ascii = getchsascii (str); if (ascii> 0 && ascii <160) {result = string.valueof ((char) ascii); } else {for (int i = (pyvalue.length-1); i> = 0; i--) {if (pyvalue [i] <= ascii) {result = pystr [i]; перерыв; }}} return result; } / ** * Фраза buffer = new StringBuilder (); for (int i = 0; i <chs.length (); i ++) {key = chs.substring (i, i+1); if (key.getbytes (). length> = 2) {value = (string) преобразовать (key); if (value == null) {value = "Неизвестно"; }} else {value = key; } buffer.append (value); } return buffer.toString (); } public String getSpelling () {return this.getSelling (this.getResource ()); }}выполнить
String Country = "Китайские иероглифы"; public String getString () {// return return pinyin return inyinchinese.getinstance (). getelling (country); }Спасибо за чтение, я надеюсь, что это поможет вам. Спасибо за поддержку этого сайта!