字符串编码 – 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”中的下划线和小写字符。