将Unicode转换为字符串

时间:2012-04-22 04:49:49

标签: java string unicode

考虑以下Java代码:

String str = "\u8ba9\u4ed6\u51fa\u6d77\u4e86";
// ...
System.out.print(str);

我想从str获取角色。提前谢谢。

3 个答案:

答案 0 :(得分:1)

你可以进入java

char c = "\uFFFF".toCharArray()[0];
System.out.println(c);

答案 1 :(得分:0)

Commons-IO JIRA中查看此问题。希望课程UnicodeUnescapeReader将来会被commons-io整合。不过,您可以将它集成到您​​的代码库中并轻松使用它:

String str = "\u8ba9\u4ed6\u51fa\u6d77\u4e86";
StringReader sr = new StringReader(str);
UnicodeUnescapeReader uur = new UnicodeUnescapeReader(sr);

StringBuffer buf = new StringBuffer(); 
for(int c = uur.read(); c != -1; c = uur.read())
{ 
  buf.append((char)c); 
} 
System.out.println(buf.toString());

此输出为:让他出海了

替代commons-io:

StringReader sr = new StringReader(str);
UnicodeUnescapeReader uur = new UnicodeUnescapeReader(sr);
System.out.println(IOUtils.toString(uur));

答案 2 :(得分:0)

更简单的方法

<!-- https://mvnrepository.com/artifact/org.apache.commons/commons-text -->
<dependency>
    <groupId>org.apache.commons</groupId>
    <artifactId>commons-text</artifactId>
    <version>1.9</version>
</dependency>
StringEscapeUtils.unescapeJava(str);