字符串编码 – Shift_JIS / UTF-8
我从第三方库中获取了一个字符串,该字符串编码不好。 不幸的是我不允许更换库或使用另一个库…
所以实际的问题是,第三方库结果字符串会在UTF-8字符串中将字符编码为“èòàù”äö,……“作为SHIFT_JIS(汉字)。 但只有当角色连接到一个单词并且不是独立的时候。
例如:
“Ö只是一个简单的测试”
“Ö只是一个简单的测试”
我尝试了以下但没有成功:
byte[] b = resultString.getBytes("Shift_JIS"); String value = new String(b, "UTF-8");
更新1:
这是“resultString”的内容。
注意:显示的字节数组没有任何修改(例如getBytes(“Shift_JIS”),它只是resultString作为字节)
你有什么想法? 任何帮助将不胜感激。 谢谢。
嗯,非常奇怪:
如
byte[] b = resultString.getBytes("Shift_JIS"); String value = new String(b, "UTF-8");
没有为我工作我尝试了以下:
String value = new String(resultString.getBytes("SHIFT-JIS"), "UTF-8")
奇迹般有效。 也许是因为“Shift_JIS”中的下划线和小写字符。