考虑以下Java代码:

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


我想从str获取字符。先感谢您。

最佳答案

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));

10-07 22:29