【问题标题】:String encoding - Shift_JIS / UTF-8字符串编码 - Shift_JIS / UTF-8
【发布时间】:2015-05-20 06:28:14
【问题描述】:

我从第 3 方库中获得了一个未正确编码的字符串。 不幸的是,我不允许更改库或使用另一个库...

所以实际的问题是,第 3 方库结果字符串会将诸如“è ò à ù ì ä ö ü, ...”之类的字符编码为 UTF-8 字符串中的 SHIFT_JIS(汉字)。但前提是该角色与一个词相关联并且不是独立的。

例如:

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

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

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

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

更新 1:

这就是“resultString”的内容。

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

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

【问题讨论】:

  • 你能显示输入字符串是什么(resultString)吗?
  • 当然是@assylias。添加信息。感谢您的提示。

标签: java android character-encoding


【解决方案1】:

嗯,很奇怪:

作为

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-06-09
    • 2013-06-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多