我在Java中的字符串变量中具有以下值,该字符串变量具有如下编码的UTF-8字符
Dodd\u2013Frank
代替
Dodd–Frank
(假设我无法控制如何将此值分配给此字符串变量)
现在如何正确转换(编码)并将其存储回String变量中?
我发现以下代码
Charset.forName("UTF-8").encode(str);
但这会返回ByteBuffer,但我要String返回。
ByteBuffer
String
编辑:
一些其他信息。
当我使用System.out.println(str);我得到
System.out.println(str);
我不确定什么是正确的术语(UTF-8或unicode)。
尝试
str = org.apache.commons.lang3.StringEscapeUtils.unescapeJava(str);
来自Apache Commons Lang