|
|
@@ -0,0 +1,539 @@
|
|
|
+package com.acc.util.common;
|
|
|
+
|
|
|
+import java.util.Iterator;
|
|
|
+import java.util.LinkedHashMap;
|
|
|
+import java.util.Set;
|
|
|
+
|
|
|
+/**
|
|
|
+ * 汉字转化为全拼
|
|
|
+ * @version :JDK版本:1.4
|
|
|
+ */
|
|
|
+public class CnToSpell {
|
|
|
+ private static LinkedHashMap spellMap = null;
|
|
|
+ static {
|
|
|
+ if (spellMap == null) {
|
|
|
+ spellMap = new LinkedHashMap(400);
|
|
|
+ }
|
|
|
+ initialize();
|
|
|
+ System.out.println("Chinese transfer Spell Done.");
|
|
|
+ }
|
|
|
+
|
|
|
+ private CnToSpell() {
|
|
|
+ }
|
|
|
+
|
|
|
+ private static void spellPut(String spell, int ascii) {
|
|
|
+ spellMap.put(spell, new Integer(ascii));
|
|
|
+ }
|
|
|
+
|
|
|
+ private static void initialize() {
|
|
|
+ spellPut("a", -20319);
|
|
|
+ spellPut("ai", -20317);
|
|
|
+ spellPut("an", -20304);
|
|
|
+ spellPut("ang", -20295);
|
|
|
+ spellPut("ao", -20292);
|
|
|
+ spellPut("ba", -20283);
|
|
|
+ spellPut("bai", -20265);
|
|
|
+ spellPut("ban", -20257);
|
|
|
+ spellPut("bang", -20242);
|
|
|
+ spellPut("bao", -20230);
|
|
|
+ spellPut("bei", -20051);
|
|
|
+ spellPut("ben", -20036);
|
|
|
+ spellPut("beng", -20032);
|
|
|
+ spellPut("bi", -20026);
|
|
|
+ spellPut("bian", -20002);
|
|
|
+ spellPut("biao", -19990);
|
|
|
+ spellPut("bie", -19986);
|
|
|
+ spellPut("bin", -19982);
|
|
|
+ spellPut("bing", -19976);
|
|
|
+ spellPut("bo", -19805);
|
|
|
+ spellPut("bu", -19784);
|
|
|
+ spellPut("ca", -19775);
|
|
|
+ spellPut("cai", -19774);
|
|
|
+ spellPut("can", -19763);
|
|
|
+ spellPut("cang", -19756);
|
|
|
+ spellPut("cao", -19751);
|
|
|
+ spellPut("ce", -19746);
|
|
|
+ spellPut("ceng", -19741);
|
|
|
+ spellPut("cha", -19739);
|
|
|
+ spellPut("chai", -19728);
|
|
|
+ spellPut("chan", -19725);
|
|
|
+ spellPut("chang", -19715);
|
|
|
+ spellPut("chao", -19540);
|
|
|
+ spellPut("che", -19531);
|
|
|
+ spellPut("chen", -19525);
|
|
|
+ spellPut("cheng", -19515);
|
|
|
+ spellPut("chi", -19500);
|
|
|
+ spellPut("chong", -19484);
|
|
|
+ spellPut("chou", -19479);
|
|
|
+ spellPut("chu", -19467);
|
|
|
+ spellPut("chuai", -19289);
|
|
|
+ spellPut("chuan", -19288);
|
|
|
+ spellPut("chuang", -19281);
|
|
|
+ spellPut("chui", -19275);
|
|
|
+ spellPut("chun", -19270);
|
|
|
+ spellPut("chuo", -19263);
|
|
|
+ spellPut("ci", -19261);
|
|
|
+ spellPut("cong", -19249);
|
|
|
+ spellPut("cou", -19243);
|
|
|
+ spellPut("cu", -19242);
|
|
|
+ spellPut("cuan", -19238);
|
|
|
+ spellPut("cui", -19235);
|
|
|
+ spellPut("cun", -19227);
|
|
|
+ spellPut("cuo", -19224);
|
|
|
+ spellPut("da", -19218);
|
|
|
+ spellPut("dai", -19212);
|
|
|
+ spellPut("dan", -19038);
|
|
|
+ spellPut("dang", -19023);
|
|
|
+ spellPut("dao", -19018);
|
|
|
+ spellPut("de", -19006);
|
|
|
+ spellPut("deng", -19003);
|
|
|
+ spellPut("di", -18996);
|
|
|
+ spellPut("dian", -18977);
|
|
|
+ spellPut("diao", -18961);
|
|
|
+ spellPut("die", -18952);
|
|
|
+ spellPut("ding", -18783);
|
|
|
+ spellPut("diu", -18774);
|
|
|
+ spellPut("dong", -18773);
|
|
|
+ spellPut("dou", -18763);
|
|
|
+ spellPut("du", -18756);
|
|
|
+ spellPut("duan", -18741);
|
|
|
+ spellPut("dui", -18735);
|
|
|
+ spellPut("dun", -18731);
|
|
|
+ spellPut("duo", -18722);
|
|
|
+ spellPut("e", -18710);
|
|
|
+ spellPut("en", -18697);
|
|
|
+ spellPut("er", -18696);
|
|
|
+ spellPut("fa", -18526);
|
|
|
+ spellPut("fan", -18518);
|
|
|
+ spellPut("fang", -18501);
|
|
|
+ spellPut("fei", -18490);
|
|
|
+ spellPut("fen", -18478);
|
|
|
+ spellPut("feng", -18463);
|
|
|
+ spellPut("fo", -18448);
|
|
|
+ spellPut("fou", -18447);
|
|
|
+ spellPut("fu", -18446);
|
|
|
+ spellPut("ga", -18239);
|
|
|
+ spellPut("gai", -18237);
|
|
|
+ spellPut("gan", -18231);
|
|
|
+ spellPut("gang", -18220);
|
|
|
+ spellPut("gao", -18211);
|
|
|
+ spellPut("ge", -18201);
|
|
|
+ spellPut("gei", -18184);
|
|
|
+ spellPut("gen", -18183);
|
|
|
+ spellPut("geng", -18181);
|
|
|
+ spellPut("gong", -18012);
|
|
|
+ spellPut("gou", -17997);
|
|
|
+ spellPut("gu", -17988);
|
|
|
+ spellPut("gua", -17970);
|
|
|
+ spellPut("guai", -17964);
|
|
|
+ spellPut("guan", -17961);
|
|
|
+ spellPut("guang", -17950);
|
|
|
+ spellPut("gui", -17947);
|
|
|
+ spellPut("gun", -17931);
|
|
|
+ spellPut("guo", -17928);
|
|
|
+ spellPut("ha", -17922);
|
|
|
+ spellPut("hai", -17759);
|
|
|
+ spellPut("han", -17752);
|
|
|
+ spellPut("hang", -17733);
|
|
|
+ spellPut("hao", -17730);
|
|
|
+ spellPut("he", -17721);
|
|
|
+ spellPut("hei", -17703);
|
|
|
+ spellPut("hen", -17701);
|
|
|
+ spellPut("heng", -17697);
|
|
|
+ spellPut("hong", -17692);
|
|
|
+ spellPut("hou", -17683);
|
|
|
+ spellPut("hu", -17676);
|
|
|
+ spellPut("hua", -17496);
|
|
|
+ spellPut("huai", -17487);
|
|
|
+ spellPut("huan", -17482);
|
|
|
+ spellPut("huang", -17468);
|
|
|
+ spellPut("hui", -17454);
|
|
|
+ spellPut("hun", -17433);
|
|
|
+ spellPut("huo", -17427);
|
|
|
+ spellPut("ji", -17417);
|
|
|
+ spellPut("jia", -17202);
|
|
|
+ spellPut("jian", -17185);
|
|
|
+ spellPut("jiang", -16983);
|
|
|
+ spellPut("jiao", -16970);
|
|
|
+ spellPut("jie", -16942);
|
|
|
+ spellPut("jin", -16915);
|
|
|
+ spellPut("jing", -16733);
|
|
|
+ spellPut("jiong", -16708);
|
|
|
+ spellPut("jiu", -16706);
|
|
|
+ spellPut("ju", -16689);
|
|
|
+ spellPut("juan", -16664);
|
|
|
+ spellPut("jue", -16657);
|
|
|
+ spellPut("jun", -16647);
|
|
|
+ spellPut("ka", -16474);
|
|
|
+ spellPut("kai", -16470);
|
|
|
+ spellPut("kan", -16465);
|
|
|
+ spellPut("kang", -16459);
|
|
|
+ spellPut("kao", -16452);
|
|
|
+ spellPut("ke", -16448);
|
|
|
+ spellPut("ken", -16433);
|
|
|
+ spellPut("keng", -16429);
|
|
|
+ spellPut("kong", -16427);
|
|
|
+ spellPut("kou", -16423);
|
|
|
+ spellPut("ku", -16419);
|
|
|
+ spellPut("kua", -16412);
|
|
|
+ spellPut("kuai", -16407);
|
|
|
+ spellPut("kuan", -16403);
|
|
|
+ spellPut("kuang", -16401);
|
|
|
+ spellPut("kui", -16393);
|
|
|
+ spellPut("kun", -16220);
|
|
|
+ spellPut("kuo", -16216);
|
|
|
+ spellPut("la", -16212);
|
|
|
+ spellPut("lai", -16205);
|
|
|
+ spellPut("lan", -16202);
|
|
|
+ spellPut("lang", -16187);
|
|
|
+ spellPut("lao", -16180);
|
|
|
+ spellPut("le", -16171);
|
|
|
+ spellPut("lei", -16169);
|
|
|
+ spellPut("leng", -16158);
|
|
|
+ spellPut("li", -16155);
|
|
|
+ spellPut("lia", -15959);
|
|
|
+ spellPut("lian", -15958);
|
|
|
+ spellPut("liang", -15944);
|
|
|
+ spellPut("liao", -15933);
|
|
|
+ spellPut("lie", -15920);
|
|
|
+ spellPut("lin", -15915);
|
|
|
+ spellPut("ling", -15903);
|
|
|
+ spellPut("liu", -15889);
|
|
|
+ spellPut("long", -15878);
|
|
|
+ spellPut("lou", -15707);
|
|
|
+ spellPut("lu", -15701);
|
|
|
+ spellPut("lv", -15681);
|
|
|
+ spellPut("luan", -15667);
|
|
|
+ spellPut("lue", -15661);
|
|
|
+ spellPut("lun", -15659);
|
|
|
+ spellPut("luo", -15652);
|
|
|
+ spellPut("ma", -15640);
|
|
|
+ spellPut("mai", -15631);
|
|
|
+ spellPut("man", -15625);
|
|
|
+ spellPut("mang", -15454);
|
|
|
+ spellPut("mao", -15448);
|
|
|
+ spellPut("me", -15436);
|
|
|
+ spellPut("mei", -15435);
|
|
|
+ spellPut("men", -15419);
|
|
|
+ spellPut("meng", -15416);
|
|
|
+ spellPut("mi", -15408);
|
|
|
+ spellPut("mian", -15394);
|
|
|
+ spellPut("miao", -15385);
|
|
|
+ spellPut("mie", -15377);
|
|
|
+ spellPut("min", -15375);
|
|
|
+ spellPut("ming", -15369);
|
|
|
+ spellPut("miu", -15363);
|
|
|
+ spellPut("mo", -15362);
|
|
|
+ spellPut("mou", -15183);
|
|
|
+ spellPut("mu", -15180);
|
|
|
+ spellPut("na", -15165);
|
|
|
+ spellPut("nai", -15158);
|
|
|
+ spellPut("nan", -15153);
|
|
|
+ spellPut("nang", -15150);
|
|
|
+ spellPut("nao", -15149);
|
|
|
+ spellPut("ne", -15144);
|
|
|
+ spellPut("nei", -15143);
|
|
|
+ spellPut("nen", -15141);
|
|
|
+ spellPut("neng", -15140);
|
|
|
+ spellPut("ni", -15139);
|
|
|
+ spellPut("nian", -15128);
|
|
|
+ spellPut("niang", -15121);
|
|
|
+ spellPut("niao", -15119);
|
|
|
+ spellPut("nie", -15117);
|
|
|
+ spellPut("nin", -15110);
|
|
|
+ spellPut("ning", -15109);
|
|
|
+ spellPut("niu", -14941);
|
|
|
+ spellPut("nong", -14937);
|
|
|
+ spellPut("nu", -14933);
|
|
|
+ spellPut("nv", -14930);
|
|
|
+ spellPut("nuan", -14929);
|
|
|
+ spellPut("nue", -14928);
|
|
|
+ spellPut("nuo", -14926);
|
|
|
+ spellPut("o", -14922);
|
|
|
+ spellPut("ou", -14921);
|
|
|
+ spellPut("pa", -14914);
|
|
|
+ spellPut("pai", -14908);
|
|
|
+ spellPut("pan", -14902);
|
|
|
+ spellPut("pang", -14894);
|
|
|
+ spellPut("pao", -14889);
|
|
|
+ spellPut("pei", -14882);
|
|
|
+ spellPut("pen", -14873);
|
|
|
+ spellPut("peng", -14871);
|
|
|
+ spellPut("pi", -14857);
|
|
|
+ spellPut("pian", -14678);
|
|
|
+ spellPut("piao", -14674);
|
|
|
+ spellPut("pie", -14670);
|
|
|
+ spellPut("pin", -14668);
|
|
|
+ spellPut("ping", -14663);
|
|
|
+ spellPut("po", -14654);
|
|
|
+ spellPut("pu", -14645);
|
|
|
+ spellPut("qi", -14630);
|
|
|
+ spellPut("qia", -14594);
|
|
|
+ spellPut("qian", -14429);
|
|
|
+ spellPut("qiang", -14407);
|
|
|
+ spellPut("qiao", -14399);
|
|
|
+ spellPut("qie", -14384);
|
|
|
+ spellPut("qin", -14379);
|
|
|
+ spellPut("qing", -14368);
|
|
|
+ spellPut("qiong", -14355);
|
|
|
+ spellPut("qiu", -14353);
|
|
|
+ spellPut("qu", -14345);
|
|
|
+ spellPut("quan", -14170);
|
|
|
+ spellPut("que", -14159);
|
|
|
+ spellPut("qun", -14151);
|
|
|
+ spellPut("ran", -14149);
|
|
|
+ spellPut("rang", -14145);
|
|
|
+ spellPut("rao", -14140);
|
|
|
+ spellPut("re", -14137);
|
|
|
+ spellPut("ren", -14135);
|
|
|
+ spellPut("reng", -14125);
|
|
|
+ spellPut("ri", -14123);
|
|
|
+ spellPut("rong", -14122);
|
|
|
+ spellPut("rou", -14112);
|
|
|
+ spellPut("ru", -14109);
|
|
|
+ spellPut("ruan", -14099);
|
|
|
+ spellPut("rui", -14097);
|
|
|
+ spellPut("run", -14094);
|
|
|
+ spellPut("ruo", -14092);
|
|
|
+ spellPut("sa", -14090);
|
|
|
+ spellPut("sai", -14087);
|
|
|
+ spellPut("san", -14083);
|
|
|
+ spellPut("sang", -13917);
|
|
|
+ spellPut("sao", -13914);
|
|
|
+ spellPut("se", -13910);
|
|
|
+ spellPut("sen", -13907);
|
|
|
+ spellPut("seng", -13906);
|
|
|
+ spellPut("sha", -13905);
|
|
|
+ spellPut("shai", -13896);
|
|
|
+ spellPut("shan", -13894);
|
|
|
+ spellPut("shang", -13878);
|
|
|
+ spellPut("shao", -13870);
|
|
|
+ spellPut("she", -13859);
|
|
|
+ spellPut("shen", -13847);
|
|
|
+ spellPut("sheng", -13831);
|
|
|
+ spellPut("shi", -13658);
|
|
|
+ spellPut("shou", -13611);
|
|
|
+ spellPut("shu", -13601);
|
|
|
+ spellPut("shua", -13406);
|
|
|
+ spellPut("shuai", -13404);
|
|
|
+ spellPut("shuan", -13400);
|
|
|
+ spellPut("shuang", -13398);
|
|
|
+ spellPut("shui", -13395);
|
|
|
+ spellPut("shun", -13391);
|
|
|
+ spellPut("shuo", -13387);
|
|
|
+ spellPut("si", -13383);
|
|
|
+ spellPut("song", -13367);
|
|
|
+ spellPut("sou", -13359);
|
|
|
+ spellPut("su", -13356);
|
|
|
+ spellPut("suan", -13343);
|
|
|
+ spellPut("sui", -13340);
|
|
|
+ spellPut("sun", -13329);
|
|
|
+ spellPut("suo", -13326);
|
|
|
+ spellPut("ta", -13318);
|
|
|
+ spellPut("tai", -13147);
|
|
|
+ spellPut("tan", -13138);
|
|
|
+ spellPut("tang", -13120);
|
|
|
+ spellPut("tao", -13107);
|
|
|
+ spellPut("te", -13096);
|
|
|
+ spellPut("teng", -13095);
|
|
|
+ spellPut("ti", -13091);
|
|
|
+ spellPut("tian", -13076);
|
|
|
+ spellPut("tiao", -13068);
|
|
|
+ spellPut("tie", -13063);
|
|
|
+ spellPut("ting", -13060);
|
|
|
+ spellPut("tong", -12888);
|
|
|
+ spellPut("tou", -12875);
|
|
|
+ spellPut("tu", -12871);
|
|
|
+ spellPut("tuan", -12860);
|
|
|
+ spellPut("tui", -12858);
|
|
|
+ spellPut("tun", -12852);
|
|
|
+ spellPut("tuo", -12849);
|
|
|
+ spellPut("wa", -12838);
|
|
|
+ spellPut("wai", -12831);
|
|
|
+ spellPut("wan", -12829);
|
|
|
+ spellPut("wang", -12812);
|
|
|
+ spellPut("wei", -12802);
|
|
|
+ spellPut("wen", -12607);
|
|
|
+ spellPut("weng", -12597);
|
|
|
+ spellPut("wo", -12594);
|
|
|
+ spellPut("wu", -12585);
|
|
|
+ spellPut("xi", -12556);
|
|
|
+ spellPut("xia", -12359);
|
|
|
+ spellPut("xian", -12346);
|
|
|
+ spellPut("xiang", -12320);
|
|
|
+ spellPut("xiao", -12300);
|
|
|
+ spellPut("xie", -12120);
|
|
|
+ spellPut("xin", -12099);
|
|
|
+ spellPut("xing", -12089);
|
|
|
+ spellPut("xiong", -12074);
|
|
|
+ spellPut("xiu", -12067);
|
|
|
+ spellPut("xu", -12058);
|
|
|
+ spellPut("xuan", -12039);
|
|
|
+ spellPut("xue", -11867);
|
|
|
+ spellPut("xun", -11861);
|
|
|
+ spellPut("ya", -11847);
|
|
|
+ spellPut("yan", -11831);
|
|
|
+ spellPut("yang", -11798);
|
|
|
+ spellPut("yao", -11781);
|
|
|
+ spellPut("ye", -11604);
|
|
|
+ spellPut("yi", -11589);
|
|
|
+ spellPut("yin", -11536);
|
|
|
+ spellPut("ying", -11358);
|
|
|
+ spellPut("yo", -11340);
|
|
|
+ spellPut("yong", -11339);
|
|
|
+ spellPut("you", -11324);
|
|
|
+ spellPut("yu", -11303);
|
|
|
+ spellPut("yuan", -11097);
|
|
|
+ spellPut("yue", -11077);
|
|
|
+ spellPut("yun", -11067);
|
|
|
+ spellPut("za", -11055);
|
|
|
+ spellPut("zai", -11052);
|
|
|
+ spellPut("zan", -11045);
|
|
|
+ spellPut("zang", -11041);
|
|
|
+ spellPut("zao", -11038);
|
|
|
+ spellPut("ze", -11024);
|
|
|
+ spellPut("zei", -11020);
|
|
|
+ spellPut("zen", -11019);
|
|
|
+ spellPut("zeng", -11018);
|
|
|
+ spellPut("zha", -11014);
|
|
|
+ spellPut("zhai", -10838);
|
|
|
+ spellPut("zhan", -10832);
|
|
|
+ spellPut("zhang", -10815);
|
|
|
+ spellPut("zhao", -10800);
|
|
|
+ spellPut("zhe", -10790);
|
|
|
+ spellPut("zhen", -10780);
|
|
|
+ spellPut("zheng", -10764);
|
|
|
+ spellPut("zhi", -10587);
|
|
|
+ spellPut("zhong", -10544);
|
|
|
+ spellPut("zhou", -10533);
|
|
|
+ spellPut("zhu", -10519);
|
|
|
+ spellPut("zhua", -10331);
|
|
|
+ spellPut("zhuai", -10329);
|
|
|
+ spellPut("zhuan", -10328);
|
|
|
+ spellPut("zhuang", -10322);
|
|
|
+ spellPut("zhui", -10315);
|
|
|
+ spellPut("zhun", -10309);
|
|
|
+ spellPut("zhuo", -10307);
|
|
|
+ spellPut("zi", -10296);
|
|
|
+ spellPut("zong", -10281);
|
|
|
+ spellPut("zou", -10274);
|
|
|
+ spellPut("zu", -10270);
|
|
|
+ spellPut("zuan", -10262);
|
|
|
+ spellPut("zui", -10260);
|
|
|
+ spellPut("zun", -10256);
|
|
|
+ spellPut("zuo", -10254);
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 获得单个汉字的Ascii.
|
|
|
+ *
|
|
|
+ * @param cn
|
|
|
+ * char 汉字字符
|
|
|
+ * @return int 错误返回 0,否则返回ascii
|
|
|
+ */
|
|
|
+ public static int getCnAscii(char cn) {
|
|
|
+ byte[] bytes = (String.valueOf(cn)).getBytes();
|
|
|
+ if (bytes == null || bytes.length > 2 || bytes.length <= 0) { // 错误
|
|
|
+ return 0;
|
|
|
+ }
|
|
|
+ if (bytes.length == 1) { // 英文字符
|
|
|
+ return bytes[0];
|
|
|
+ }
|
|
|
+ if (bytes.length == 2) { // 中文字符
|
|
|
+ int hightByte = 256 + bytes[0];
|
|
|
+ int lowByte = 256 + bytes[1];
|
|
|
+ int ascii = (256 * hightByte + lowByte) - 256 * 256;
|
|
|
+ // System.out.println("ASCII=" + ascii);
|
|
|
+ return ascii;
|
|
|
+ }
|
|
|
+ return 0; // 错误
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 根据ASCII码到SpellMap中查找对应的拼音
|
|
|
+ *
|
|
|
+ * @param ascii int 字符对应的ASCII
|
|
|
+ * @return String 拼音,首先判断ASCII是否>0&<160,如果是返回对应的字符,
|
|
|
+ *
|
|
|
+ * 否则到SpellMap中查找,如果没有找到拼音,则返回null,如果找到则返回拼音.
|
|
|
+ */
|
|
|
+ public static String getSpellByAscii(int ascii) {
|
|
|
+ if (ascii > 0 && ascii < 160) { // 单字符
|
|
|
+ return String.valueOf((char) ascii);
|
|
|
+ }
|
|
|
+ if (ascii < -20319 || ascii > -10247) { // 不知道的字符
|
|
|
+ return null;
|
|
|
+ }
|
|
|
+ Set keySet = spellMap.keySet();
|
|
|
+ Iterator it = keySet.iterator();
|
|
|
+ String spell0 = null;
|
|
|
+ ;
|
|
|
+ String spell = null;
|
|
|
+ int asciiRang0 = -20319;
|
|
|
+ int asciiRang;
|
|
|
+ while (it.hasNext()) {
|
|
|
+ spell = (String) it.next();
|
|
|
+ Object valObj = spellMap.get(spell);
|
|
|
+ if (valObj instanceof Integer) {
|
|
|
+ asciiRang = ((Integer) valObj).intValue();
|
|
|
+ if (ascii >= asciiRang0 && ascii < asciiRang) { // 区间找到
|
|
|
+ return (spell0 == null) ? spell : spell0;
|
|
|
+ } else {
|
|
|
+ spell0 = spell;
|
|
|
+ asciiRang0 = asciiRang;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return null;
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 返回字符串的全拼,是汉字转化为全拼,其它字符不进行转换
|
|
|
+ *
|
|
|
+ * @param cnStr String 字符串
|
|
|
+ * @return String 转换成全拼后的字符串
|
|
|
+ */
|
|
|
+ public static String getFullSpell(String cnStr) {
|
|
|
+ if (null == cnStr || "".equals(cnStr.trim())) {
|
|
|
+ return cnStr;
|
|
|
+ }
|
|
|
+ char[] chars = cnStr.toCharArray();
|
|
|
+ StringBuffer retuBuf = new StringBuffer();
|
|
|
+ for (int i = 0, Len = chars.length; i < Len; i++) {
|
|
|
+ int ascii = getCnAscii(chars[i]);
|
|
|
+ if (ascii == 0) { //取ascii时出错
|
|
|
+ retuBuf.append(chars[i]);
|
|
|
+ } else {
|
|
|
+ String spell = getSpellByAscii(ascii);
|
|
|
+ if (spell == null) {
|
|
|
+ retuBuf.append(chars[i]);
|
|
|
+ } else {
|
|
|
+ retuBuf.append(spell);
|
|
|
+ retuBuf.append(" ");
|
|
|
+ System.out.println(i);
|
|
|
+ } // end of if spell == null
|
|
|
+ } // end of if ascii <= -20400
|
|
|
+ } // end of for
|
|
|
+ return retuBuf.toString();
|
|
|
+ }
|
|
|
+
|
|
|
+ public static String getFirstSpell(String cnStr) {
|
|
|
+ return null;
|
|
|
+ }
|
|
|
+
|
|
|
+ public static void main(String[] args) {
|
|
|
+ String str = null;
|
|
|
+ str = "谢海101普降喜雨";
|
|
|
+ System.out.println("Spell=" + CnToSpell.getFullSpell(str));
|
|
|
+ str = "张牙舞爪》。,";
|
|
|
+ System.out.println("Spell=" + CnToSpell.getFullSpell(str));
|
|
|
+ str = "擦亮眼睛,可耻下场。";
|
|
|
+ System.out.println("Spell=" + CnToSpell.getFullSpell(str));
|
|
|
+ str = "猪油,猪八戒。";
|
|
|
+ System.out.println("Spell=" + CnToSpell.getFullSpell(str));
|
|
|
+ str = "乔补来";
|
|
|
+ System.out.println("Spell=" + CnToSpell.getFullSpell(str));
|
|
|
+ str = "qiao bu lai";
|
|
|
+ System.out.println("Spell=" + CnToSpell.getFullSpell(str));
|
|
|
+ }
|
|
|
+}
|