600字范文,内容丰富有趣,生活中的好帮手!
600字范文 > 将Unicode编码转换为汉字

将Unicode编码转换为汉字

时间:2018-08-19 12:20:25

相关推荐

将Unicode编码转换为汉字

本代码针对Java语言,函数传入汉字的Unicode编码字符串,返回相应的汉字字符串,具体代码如下:【如果是json格式,下面这种Unicode码后面部分不会再转换回来,如Unicode码后面的 "} 部分不会转换出来】

[java]view plaincopypublicStringconvert(StringutfString){ StringBuildersb=newStringBuilder(); inti=-1; intpos=0; while((i=utfString.indexOf("\\u",pos))!=-1){ sb.append(utfString.substring(pos,i)); if(i+5<utfString.length()){ pos=i+6; sb.append((char)Integer.parseInt(utfString.substring(i+2,i+6),16)); } } returnsb.toString(); }

一、java,汉字转unicode码|unicode转汉字: 【如果是json格式下面这种Unicode码后面部分可以再转换出来, 转换出来是完整的】

[java]view plaincopypublicclassUnicodeStr{ /** *@paramargs */ publicstaticvoidmain(String[]args){ System.out.println(str2Unicode("最真不过平淡,最美不过平凡。")); System.out.println(unicode2Str("\u6700\u771f\u4e0d\u8fc7\u5e73\u6de1\uff0c\u6700\u7f8e\u4e0d\u8fc7\u5e73\u51e1\u3002")); } publicstaticStringstr2Unicode(Strings) { Stringstr=""; if((s==null)||(s.trim().equals(""))) returnstr; for(inti=0;i<s.length();i++) { byte[]bytes=String.valueOf(s.charAt(i)).getBytes(); Strings4; if(bytes.length==1) { s4=String.valueOf(s.charAt(i)); }else{ intch=s.charAt(i); s4="\\u"+Integer.toHexString(ch); } str=str+s4; } returnstr; } publicstaticStringunicode2Str(StringtheString){ charaChar; intlen=theString.length(); StringBufferoutBuffer=newStringBuffer(len); for(intx=0;x<len;){ aChar=theString.charAt(x++); if(aChar=='\\'){ aChar=theString.charAt(x++); if(aChar=='u'){ intvalue=0; for(inti=0;i<4;i++){ aChar=theString.charAt(x++); switch(aChar){ case'0': case'1': case'2': case'3': case'4': case'5': case'6': case'7': case'8': case'9': value=(value<<4)+aChar-'0'; break; case'a': case'b': case'c': case'd': case'e': case'f': value=(value<<4)+10+aChar-'a'; break; case'A': case'B': case'C': case'D': case'E': case'F': value=(value<<4)+10+aChar-'A'; break; default: thrownewIllegalArgumentException( "Malformedencoding."); } } outBuffer.append((char)value); }else{ if(aChar=='t'){ aChar='\t'; }elseif(aChar=='r'){ aChar='\r'; }elseif(aChar=='n'){ aChar='\n'; }elseif(aChar=='f'){ aChar='\f'; } outBuffer.append(aChar); } }else{ outBuffer.append(aChar); } } returnoutBuffer.toString(); } }

二、还有一种文字转unicode方法就是安装了java的jdk后就可以用bin目录下的native2ascii.exe来转换。先将要转换的文字写入一个文本文件,如str.txt ,则在命令行方式下键入命令:native2ascii str.txt(这个网上看到的,未测试)

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。