⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 gb2alpha.java

📁 采用JAVA实现两个词库的合并
💻 JAVA
📖 第 1 页 / 共 5 页
字号:
import java.util.Iterator;
import java.util.LinkedHashMap;
import java.util.Set;

public class GB2Alpha {
	private static LinkedHashMap spellMap = null;
	static {
		if (spellMap == null) {
			spellMap = new LinkedHashMap(400);
		}initialize(); 
	}
	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);	spellPut("zz", -10246);
	}
	/**获得单个汉字的Ascii. 
	 * @param cn char 汉字字符
	 * @return int 错误返回 0,否则返回ascii
	 */
	private 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(bytes[0] + " " + bytes[1] + " " + ascii);
			return ascii;
		} 
		return 0; // 错误
	}
	/**根据ASCII码到SpellMap中查找对应的拼音
	 * @param ascii int 字符对应的ASCII
	 * @return String 拼音,首先判断ASCII是否>0&<160,如果是返回对应的字符, 
	 * 否则到SpellMap中查找,如果没有找到拼音,则返回null,如果找到则返回拼音.
	 */
	private static String getSpellByAscii(int ascii) {
		if (ascii > 0 && ascii < 160) { // 单字符--英文或半角字符
			return String.valueOf((char) ascii);
		}
		if (ascii < -20319 || ascii > -10247 ) { // 不知道的字符
			if(ascii == -8263||ascii == -7996||ascii == -5145||ascii == -4167){	return "a";
			}else if(ascii == -8481||ascii == -7992||ascii == -7991||ascii == -6456||ascii == -5976||ascii == -5421||ascii == -4671||ascii == -4147||ascii == -2384){	return "ai";
			}else if(ascii == -9521||ascii == -9221||ascii == -8466||ascii == -7699||ascii == -7466||ascii == -5903||ascii == -4185||ascii == -3898||ascii == -2058){	return "an";
			}else if(ascii ==-9238||ascii == -8490||ascii == -8005||ascii == -7762||ascii == -7462||ascii == -6693||ascii == -6463||ascii == -6415||ascii == -5663||ascii == -3590||ascii == -3332||ascii == -2357||ascii == -2143||ascii == -2071)	{	return "ao";
			}else if(ascii == -9000||ascii == -8765||ascii == -7759||ascii == -6735||ascii == -4391||ascii == -2866||ascii == -2351||ascii == -2103){	return "ba";
			}else if(ascii == -8477||ascii == -5378){	return "bai";
			}else if(ascii == -9498||ascii == -9248||ascii == -5414||ascii == -4397||ascii == -3677||ascii == -3667||ascii == -2894){	return "ban";
			}else if(ascii == -8718||ascii == -6982){	return "bang";
			}else if(ascii == -9752||ascii == -8735||ascii == -6433||ascii == -4910||ascii == -3919||ascii == -3623||ascii == -2624||ascii == -2379){	return "bao";
			}else if(ascii == -10045||ascii == -9495||ascii == -9475||ascii == -9219||ascii == -8759||ascii == -8723||ascii == -8254||ascii == -7261||ascii == -4651||ascii == -3897||ascii == -3624||ascii == -2355||ascii == -2119){	return "bei";
			}else if(ascii ==-9266||ascii == -9264||ascii == -5414||ascii == -4164)	{return "ben";
			}else if(ascii == -9055||ascii == -7980||ascii == -5452){	return "beng";
			}else if(ascii == -10064||ascii == -9790||ascii == -9019||ascii == -8982||ascii == -8791||ascii == -8523||ascii == -8255||ascii == -8231||ascii == -7687||ascii == -7464||ascii == -7239||ascii == -6940||ascii == -6744||ascii == -6666||ascii == -6658||ascii == -6466||ascii == -6444||ascii == -5963||ascii == -4433||ascii == -4375||ascii == -4107||ascii == -3628||ascii == -3111||ascii == -3093||ascii == -3081||ascii == -2896||ascii == -2875||ascii == -2609||ascii == -2110){
				return "bi";
			}else if(ascii == -10030||ascii == -9267||ascii == -9008||ascii == -7443||ascii == -7190||ascii == -6206||ascii == -4908||ascii == -4674||ascii == -4644||ascii == -3655||ascii == -3621||ascii == -3335||ascii == -3114||ascii == -2307){	return "bian";
			}else if(ascii == -6469||ascii == -6412||ascii == -5956||ascii == -4951||ascii == -4947||ascii == -4946||ascii == -4895||ascii == -4134||ascii == -4112||ascii == -3674||ascii == -3631||ascii == -2137||ascii == -2092){	return "biao";
			}else if(ascii == -2625){	return "bie";
			}else if(ascii ==-9777||ascii == -7719||ascii == -6195||ascii == -6173||ascii == -5692||ascii == -5653||ascii == -5129||ascii == -4135||ascii == -2106||ascii == -2082){return "bin";
			}else if(ascii == -9737||ascii == -9733||ascii == -9477||ascii == -8464){return "bing";
			}else if(ascii == -9743||ascii == -8532||ascii == -8029||ascii == -7484||ascii == -5666||ascii == -5214||ascii == -4633||ascii == -4384||ascii == -3906||ascii == -2908||ascii == -2613||ascii == -2597){	return "bo";
			}else if(ascii == -8270||ascii == -6707||ascii == -5453||ascii == -5426||ascii == -4400||ascii == -4385||ascii == -2637){	return "bu";
			}else if(ascii == -7958||ascii == -4635){	return "ca";
			}else if(ascii == -6674||ascii == -6418||ascii == -5966||ascii == -2861||ascii == -2059){
				return "can";
			}else if(ascii == -9993){	return "cang";
			}else if(ascii == -9037||ascii == -7984||ascii == -6930||ascii == -3159||ascii == -2883){
				return "cao";

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -