假设字符串是Pu0159u00edprava
我们如何用Java (println, printf,…)打印出来,这样unicode字符就不会被解码了?
我最终使用了这样的东西
String data = "Pu0159u00edprava";
data = data.replace("\","\\");
// "\" is a single backslash "\\" then double backslashes
System.out.println(data);
转义反斜杠:
System.out.println("P\u0159\u00edprava");
在自己的''字符之前添加''应该可以达到目的:
System.out.println("P\u0159\u00edprava");
使用StringEscapeUtils
of commons-lang3.
代码在这里(参见方法public boolean translate(int codepoint, Writer out) throws IOException
): http://svn.apache.org/viewvc/commons/proper/lang/trunk/src/main/java/org/apache/commons/lang3/text/translate/UnicodeEscaper.java?revision=1148520&view=markup