Java implémente la conversion des caractères chinois en pinyin
Classe de conversion
classe publique pinyinchinese {private static int [] pyValue = new int [] {-20319, -20317, -20304, -20295, -20292, -20283, -20265, -20257, -20242, -20283, -20051, -20036, -20032, -20026, -20051, -20036, -20032, -20026, -20051, -20036, -20032, -20026, -19990, -19986, -19982, -19976, -19805, -19784, -19775, -19774, -19763, -19756, -19751, -19746, -19741, -19739, -19728, -19725, -19715, -19540, -19531, -19525, -19515, -19500, -19484, -19479, -19467, -19289, -19288, -19281, -19275, -19270, -19263, -19261, -19270, -19263, -19261, -19270, -19263, -19261, -19270, -19263, -19261, -19270, -19263, -19261, -19270, -19263, -19261 -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, -16647, -16474, -16470, -16465, -16459, -16452, -16448, -16433, -16429, -16427, -16423, -16419, -16412, -16407, -16403, -16401, -16393, -16220, -16216, -16212, -16205, -16202, -16187 -15958, -15944, -15933, -15920, -15915, -15903, -15889, -15878, -15707, -15701, -15681, -15667, -15661, -15659, -15652, -15640, -15631, -15625, -15454, -15448, -15436, -15435, -15419, -15416, -15408, -15394, -15385, -15377, -15375, -15369, -15363, -15362, -15183, -15180, -15165, -15158, -15153, -15150, -15149, -15144, -15143, -15141, -15140, -15139, -15128, -15121, -15119, -15117, -15110, -15109, -15119, -15117, -15110, -15109, -15119, -15117, -1519 -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, -14140, -14137, -14135, -14125, -14123, -14122, -14102, -14109, -1409, -1409, -14102, -14109, -1409, -1409, -14102, -14109, -1409, -1409, -14102, -14109, -1409,, -14102, -141C -14094, -14092, -14090, -14087, -14083, -13917, -13914, -13910, -13907, -13906, -13905, -13896, -13894, -13878, -13870, -13859, -13847, -13831, -13658, -13611, -13601, -13406, -13404, -13400, -13398, -13395, -13391, -13387, -13383, -13367, -13359, -13356, -13343, -13340, -13329, -13326, -13318, -13147, -13138, -13120, -13107, -133 -12858, -12852, -12849, -12838, -12831, -12829, -12812, -12802, -12607, -12597, -12594, -12585, -12556, -12359, -12346, -12320, -12300, -12120, -12099, -12089, -12074, -12067, -12058, -12039, -11867, -11861, -11847, -11831, -11798, -11781 -11324, -11303, -11097, -11077, -11067, -11055, -11052, -11045, -11041, -11038, -11024, -11020, -11019, -11018, -11014, -10838. -10780, -10764, -10587, -10544, -10533, -10519, -10331, -10329, -10328, -10322, -10315, -10309, -10307, -10296, -10281, -10274, -10270, -10262, -10260, -106, -10270, -10262, -10260,, -10270, -10262, -10260,, -10270, -10262, -10260,, -10270, -10262, -10260,, -10270, -10262, -10260,, -10270, -10262, -1C -10254}; String statique publique [] pystr = nouvelle chaîne [] {"a", "ai", "an", "ang", "ao", "ba", "bai", "ban", "bang", "bao", "bei", "ben", "beng", "bian", "biao" "Cai", "Can", "CANG", "Cao", "Cao", "ce", "Ceng", "Cha", "Chai", "Chan", "Chang", "Chao", "Che", "Chen", "chou", "choug", "Chi", "chou" "chuo", "da", "dai", "dan", "dang", "dao", "de", "deng", "di", "dian", "die", "ding", "diu", "dong", "dou", "dou", "du", "duan", "duan" "er", "fa", "fan", "fang", "fei", "fen", "feng", "fou", "fou", "fu", "gai", "gai", "gan", "gang", "gang", "gao", "gao", "gao" "Gu", "gua", "guai", "guan", "guang", "gui", "gun", "guo", "ha", "hai", "han", "hang", "hao", "he", "hei", "hen", "hen", "hen", "hen" "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", "juin", "ka", "kai" "kong", "kou", "ku", "kua", "kuai", "kuan", "kuang", "kuang", "kuo", "kuo", "la", "lai", "lan", "lang", "lao", "le", "lei", "leng", "li", "lia", "lian", "liang", "lia", "liao", "liao", "mentir", "lin", "ling", "liu", "long", "lou", "lu", "lu", "lv", "luan", "lue", "meng" "Meng", "Mian", "miao", "miao", "mie", "min", "ming", "miu", "mo", "mou", "mu", "na", "nai", "nai", "nan", "nang", "nao" "Niang", "nie", "nin", "ning", "niu", "nong", "nu", "nv", "nuan", "nue", "nuo", "o", "ou", "pa", "pai", "pan", "pang" "Piao", "piao", "Pie", "Pin", "ping", "po", "pu", "qi", "qia", "qian", "qiang", "qiao", "qie", "qie", "qiong", "Qing", "Qiong" "Rang", "Rao", "re", "Ren", "Ren", "Reng", "Ri", "Rong", "Rou", "ru", "ruan", "rui", "run", "ruo", "sa", "Sai", "San", "Sang", "Sai" "Si", "Song", "sou", "Su", "Suan", "Suan", "Sun", "Suo", "ta", "Tai", "Tan", "Tang", "Tao", "TE", "Teng", "Ti", "Tian", "Tie", "Tie", "Tuan", "," Tou, "," Tu "," Tuan ",", "Tou,", "tu "tuo", "tuo", "tuo", "tuo", "wa", "wai", "wan", "wang", "wei", "wen", "wen", "wen", "wen", "wen", "wen", "wo", "wu" "xin", "xing", "xiong", "xiu", "xu", "xuan", "xue", "xue", "xun", "ya", "yan", "yang", "yao", "ye", "yi", "yin", "ying", "ying", "yo", "" "yue", "yun", "za", "zai", "zan", "zang", "zao", "ze", "zei", "zei", "zen", "zha", "zhai", "zhan", "zhang" "Zhou", "zhu", "zhua", "zhuai", "zhuan", "zhuan", "zhuan", "zhuo", "zhuo", "zhuo", "zuan", "zuo" "; tampon privé StringBuilder; ressource de chaîne privée; Private Static CharacterPaRser CaracterPaSer = new CaracterPaSer (); Public Static CharacterParser getInstance () {return CaracterPaSer; } public String getResource () {return Resource; } public void setResource (String Resource) {this.resource = ressource; } / ** * Les caractères chinois sont convertis en ASCII * * * / private int GetchsasCII (String chs) {int Asc = 0; try {byte [] bytes = chs.getBytes ("gb2312"); if (bytes == null || bytes.length> 2 || bytes.length <= 0) {throw new RuntimeException ("String de ressource illégal"); } if (bytes.length == 1) {asc = bytes [0]; } if (bytes.length == 2) {int highbyte = 256 + bytes [0]; int lowbyte = 256 + octets [1]; ASC = (256 * HighByte + LowByte) - 256 * 256; }} catch (exception e) {System.out .println ("Error: chinesselling.class-getchsascii (String chs)" + e); } return asc; } / ** * Analyse de mot unique * * * / public String convert (String str) {String result = null; 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]; casser; }}} Retour Résultat; } / ** * PHRASE PARSING * * * / PUBLIC STRING GETENSELL (String chs) {String Key, Value; tampon = new StringBuilder (); for (int i = 0; i <chs.length (); i ++) {key = chs.SubString (i, i + 1); if (key.getBytes (). Length> = 2) {value = (String) convert (key); if (value == null) {value = "inconnu"; }} else {value = key; } buffer.append (valeur); } return buffer.toString (); } public String getSpelling () {return this.getSelling (this.getResource ()); }}accomplir
String Country = "Chinese Characters"; public String getString () {// renvoie le pinyin return pinyinchinese.getInstance (). Gethelling (country); }Merci d'avoir lu, j'espère que cela peut vous aider. Merci pour votre soutien à ce site!