Sud*_*dar 27 java unicode utf-8 utf8-decode
我在Java中的字符串变量中具有以下值,其中UTF-8字符编码如下所示
Dodd\u2013Frank
Run Code Online (Sandbox Code Playgroud)
代替
Dodd–Frank
Run Code Online (Sandbox Code Playgroud)
(假设我无法控制如何将此值分配给此字符串变量)
现在我如何正确转换(编码)它并将其存储回String变量?
我找到了以下代码
Charset.forName("UTF-8").encode(str);
Run Code Online (Sandbox Code Playgroud)
但这会返回一个ByteBuffer,但我想String回来.
编辑:
更多其他信息.
当我用System.out.println(str);我得到
Dodd\u2013Frank
Run Code Online (Sandbox Code Playgroud)
我不确定什么是正确的术语(UTF-8或unicode).请原谅我.
jlo*_*rdo 52
尝试
str = org.apache.commons.lang3.StringEscapeUtils.unescapeJava(str);
Run Code Online (Sandbox Code Playgroud)
dro*_*ert 14
您可以利用java.util.Properties支持带有'\ uXXXX'转义序列的字符串这样的事实,并执行以下操作:
Properties p = new Properties();
p.load(new StringReader("key="+yourInputString));
System.out.println("Escaped value: " + p.getProperty("key"));
Run Code Online (Sandbox Code Playgroud)
不雅,但功能齐全.
| 归档时间: |
|
| 查看次数: |
48704 次 |
| 最近记录: |