考虑以下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));