打印编码的unicode字符

时间:2011-12-07 10:30:21

标签: java unicode

假设我们有类似P\u0159\u00edprava的字符串 我们如何用Java(println,printf,...)打印出来,这样unicode字符就不会被解码了?

最终

我最终使用了这样的东西

String data = "P\u0159\u00edprava";
data = data.replace("\\","\\\\");
// "\\" is a single backslash "\\\\" then double backslashes
System.out.println(data);

3 个答案:

答案 0 :(得分:4)

添加' \'在你自己的' \'之前角色应该做的伎俩:

System.out.println("P\\u0159\\u00edprava");

答案 1 :(得分:4)

逃离反斜杠:

System.out.println("P\\u0159\\u00edprava");

答案 2 :(得分:2)

使用commons-lang3StringEscapeUtils

代码在这里(参见方法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