日期:2014-05-20  浏览次数:20698 次

如何将\u4e30类似的字符转换成中文
我从网页中抓取了一段文字存储在变量temp中,打印temp的内容如下:
  "\u4e30\u53f0\u533a\u5b8b\u5e84\u8def11\u53f7(\u8fd1\u7269\u7f8e\u8d85\u5e02)"
我通过各种转换都不行,如temp=new String(temp.getBytes("ISO8859-1"),"utf-8");
结果打印还是上面的字符。
  但是使用System.out.println("\u4e30\u53f0\u533a\u5b8b\u5e84\u8def11\u53f7(\u8fd1\u7269\u7f8e\u8d85\u5e02)");竟然能直接显示我想要的中文。
  求高手,这是为什么?
  有什么办法能够转换成utf-8或gbk的编码吗?

------解决方案--------------------
native2ascii
------解决方案--------------------
java会自动对\udddd进行转义,类似于将\b转义为空格等。属于转义的知识。但谢谢楼主让我学到了很多东西。
找的几个常见转义,给大家看看。

//内容来自于网上,非本人原创

美元符号的转义:$ ==> u0024 
乘方符号的转义:^ ==> u005E 
左大括号的转义:{ ==> u007B 
左方括号的转义:[ ==> u005B 
左圆括号的转义:( ==> u0028 
竖线的转义:| ==> u007C 
右圆括号的转义:) ==> u0029 
星号的转义:* ==> u002A 
加号的转义:+ ==> u002B 
问号的转义:? ==> u003F 
反斜杠的转义: ==> u005C
------解决方案--------------------
用jdk的工具 native2ascii 反转一下
------解决方案--------------------
JDK自带的,在bin目录下有个native2ascii.exe 你找下就知道了,
如下:

C:\Documents and Settings\Administrator>native2ascii -reverse
\u4e30\u53f0\u533a\u5b8b\u5e84\u8def11\u53f7(\u8fd1\u7269\u7f8e\u8d85\u5e02)
丰台区宋庄路11号(近物美超市)
\u4e30\u53f0\u533a\u5b8b\u5e84\u8def11\u53f7(\u8fd1\u7269\u7f8e\u8d85\u5e02)
丰台区宋庄路11号(近物美超市)


命令如下:
用法:native2ascii [-reverse] [-encoding 编码] [输入文件 [输出文件]]