欢迎来到天天文库
浏览记录
ID:40579348
大小:15.06 KB
页数:5页
时间:2019-08-04
《Unicode与中文互转》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、packagecom.test;/***
*UnicodeInterchangeChinese.java*
*Unicode与中文的互换*
2、m.out.println(unicodeToChina(bb));}/***把中文转成Unicode码**@paramstr*@return*@throwsException*/publicstaticStringchinaToUnicode(Stringstr){Stringresult="";try{for(inti=0;i=19968&&chr1<=171941){//汉字范围u4e00-u9f
3、a5(中文)result+="\u"+Integer.toHexString(chr1);}else{result+=str.charAt(i);}}}catch(Exceptione){e.printStackTrace();}returnresult;}/***判断是否为中文字符**@paramc*@return*@throwsException*/publicstaticbooleanisChinese(charc)throwsException{Character.UnicodeBlockub=Character.UnicodeBlock.of(c);if(ub==Cha
4、racter.UnicodeBlock.CJK_UNIFIED_IDEOGRAPHS
5、
6、ub==Character.UnicodeBlock.CJK_COMPATIBILITY_IDEOGRAPHS
7、
8、ub==Character.UnicodeBlock.CJK_UNIFIED_IDEOGRAPHS_EXTENSION_A
9、
10、ub==Character.UnicodeBlock.GENERAL_PUNCTUATION
11、
12、ub==Character.UnicodeBlock.CJK_SYMBOLS_AND_PUNCTUATION
13、
14、ub==Character.UnicodeBlock
15、.HALFWIDTH_AND_FULLWIDTH_FORMS){returntrue;}else{thrownewException(c+"非中文的。。。");}}/***把Unicode码转成中文**@paramin*@return*/publicstaticStringunicodeToChina(Stringin){try{returndecode(in.toCharArray());}catch(Exceptione){e.printStackTrace();}returnin;}/***单个字符进行处理**@paramin*@return*@throwsException
16、*/privatestaticStringdecode(char[]in)throwsException{intoff=0;charc;char[]out=newchar[in.length];intoutLen=0;while(offoff){//是否有下一个字符c=in[off++];//取出下一个字符}else{out[outLen++]='\';//末字符为'',返回break;}if(c=='u'){//如果是"\u"intvalue=0;if(in.length>of
17、f+4){//判断"\u"后边是否有四个字符booleanisUnicode=true;for(inti=0;i<4;i++){//遍历四个字符c=in[off++];switch(c){case'0':case'1':case'2':case'3':case'4':case'5':case'6':case'7':case'8':case'9':value=(value<<4)+c-'0';break;case'a':case'b':case'c':case'd':
此文档下载收益归作者所有