我在Java中的字符串变量中有以下值,其中包含UTF-8编码的字符,如下所示
Dodd\u2013Frank
而不是
Dodd–Frank
假设我无法控制将该值分配给此字符串变量的方式。
现在,我该如何正确地转换(编码)它并将其存储回一个String
变量中?
我找到了以下代码:
Charset.forName("UTF-8").encode(str);
但是这会返回一个ByteBuffer
,而我想要一个String
。
编辑:
一些额外的信息。
当我使用System.out.println(str);
时,我得到的是
Dodd\u2013Frank
我不确定什么是正确的术语(UTF-8还是Unicode)。请见谅。
System.out.println(yourString);
时,您看到的是(1)Dodd\u2013Frank
还是(2)Dodd–Frank
? - jlordo