JAVA将UNICODE码转成中文遇到的问题
2013-10-13 17:39
423 查看
在JAVA的群里见到这样的一个问题,java中直接输出unicode码“\u775b”,System.out.println("\775b");就可以得到一个中文“晴”字;但是String s="\\u775b"; System.out.println(s);样子却得不到中文。想了一个下午吖,终于想到可能是字符串自己的解析有问题。后来在网上找到了这个方法,
又是一顿找吖,终于找到了这样的一个方法。
new JSONTokener(sss).nextValue().toString();
也是直接把字符串放进去就OK了,前提是要把json用的jar导入到项目之中。
有需要的去试试吧,图片就一个输出文字这里就不上图了。
public static String parseUnicode(String line){ int len=line.length(); char[] out=new char[len];//保存解析以后的结果 int outLen=0; for(int i=0;i<len;i++){ char aChar=line.charAt(i); if(aChar=='\\'){ aChar=line.charAt(++i); if(aChar=='u'){ int value=0; for(int j=0;j<4;j++){ aChar=line.charAt(++i); 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: throw new IllegalArgumentException("Malformed \\uxxxx encoding."); } } out[outLen++]=(char)value; }else{ if (aChar == 't') aChar = '\t'; else if (aChar == 'r') aChar = '\r'; else if (aChar == 'n') aChar = '\n'; else if (aChar == 'f') aChar = '\f'; out[outLen++] = aChar; } }else{ out[outLen++] = aChar; } } return new String (out, 0, outLen); }上面这个方法是网上找到了,将字符串作为参数放进去就行了。秉着程序员的精神,简单之中求简单,朋友说json有个能直接转换的方法,具体方法不记得了- -!
又是一顿找吖,终于找到了这样的一个方法。
new JSONTokener(sss).nextValue().toString();
也是直接把字符串放进去就OK了,前提是要把json用的jar导入到项目之中。
有需要的去试试吧,图片就一个输出文字这里就不上图了。
相关文章推荐
- JAVA将UNICODE码转成中文遇到的问题
- 在Eclipse中查看JAVA源文件时遇到中文注释乱码问题如何解决
- 使用Java 导入Zip文件遇到中文命名乱码问题
- 【Java】编程过程中遇到的中文编码问题
- JAVA中遇到的中文问题
- java 修改jar中的menifest.mf文件后重新打包过程中遇到的中文问题解决
- Java 简单解决springmvc获取properties文件里面中文内容出现论码问题(我遇到的问题是数据提交检验时返回的错误提示出现乱码)
- Java中文字符乱码遇到的奇怪问题
- java后台传数据到前台乱码问题 中文转成Unicode码
- Android Studio JNI javah遇到的问题
- Java中文&编码问题小结
- Java中文字编码问题详解
- 日常遇到的各种中文乱码问题(不断更新以备忘)
- Java/JSP中文乱码问题解决心得
- java一些疑问的求证和遇到的问题
- 使用java.nio及其子包中的类SocketChanel完成如下功能:读取www.baidu.com等网页的内容,打印到控制台,避免中文乱码问题。
- Java读写.properties文件解决中文乱码问题
- 解决Linux下Java控制台中文乱码问题
- Java和C#访问同一个数据库遇到的一些问题
- 解决java中文乱码问题