Java 将Unicode转换为字符串
考虑以下Java代码:Java 将Unicode转换为字符串,java,string,unicode,Java,String,Unicode,考虑以下Java代码: String str = "\u8ba9\u4ed6\u51fa\u6d77\u4e86"; // ... System.out.print(str); 我想从str中获取字符。提前感谢您。您可以使用java char c = "\uFFFF".toCharArray()[0]; System.out.println(c); 请在中查看此问题。希望将来类unicodenescapereader将集成到commons io中。不过,您可以将其集成到代码库中并轻松使用:
String str = "\u8ba9\u4ed6\u51fa\u6d77\u4e86";
// ...
System.out.print(str);
我想从str
中获取字符。提前感谢您。您可以使用java
char c = "\uFFFF".toCharArray()[0];
System.out.println(c);
请在中查看此问题。希望将来类
unicodenescapereader
将集成到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));
更简单的方法
org.apache.commons
公共文本
1.9
StringEscapeUtils.unescapeJava(str);
那是什么语言?请把它放在标签里。下面是一个.Net示例:不是你的语言,但翻译起来应该很简单。JDK中有没有一个类,它有一个方法来完成这个任务?你不需要做任何任务,java中的所有String
都是Unicode
,因此您的str
变量是Unicode,当在控制台输出时,您将正确地看到字符。(我猜您的字符是中文)是的,它们是中文。但是输出仍然是Unicode,如“\u8ba9\u4ed6\u51fa\u6d77\u4e86”。我知道了,InputStream使我的'str'像“\\u8ba9\\u4ed6\\u51fa\\u6d77\\u4e86”。将所有人都存储。@user1349121您可以将此标记为已接受的答案,以指示其他人不再调查此问题。unicodenescapereader
在公用io
中不存在,包含它。