字符串编码 - Shift_JIS / UTF-8

时间:2015-05-20 06:28:15

标签: java android character-encoding

我从第三方库中获取了一个字符串,该字符串编码不好。 不幸的是我不允许更换库或使用另一个库...

所以实际的问题是,第三方库结果字符串会将像“èòàù”äö,...“这样的字符编码为UTF-8字符串中的SHIFT_JIS(汉字)。但是,只有当角色连接到一个单词并且不是独立的时候。

例如:

  

“Ö只是一个简单的测试”

Standalone

  

“Ö只是一个简单的测试”

Connected

我尝试了以下但没有成功:

byte[] b = resultString.getBytes("Shift_JIS");
String value = new String(b, "UTF-8");

更新1:

这是“resultString”的内容。

注意: 显示的字节数组没有任何修改(例如getBytes(“Shift_JIS”),它只是resultString作为字节)

enter image description here enter image description here

你有什么想法吗? 任何帮助将不胜感激。 谢谢。

1 个答案:

答案 0 :(得分:3)

嗯,很奇怪:

作为

Entity

没有为我工作我尝试了以下方法:

byte[] b = resultString.getBytes("Shift_JIS");
String value = new String(b, "UTF-8");

像魅力一样工作。 也许是因为" Shift_JIS"中的下划线和小写字符。