编码字符串问题

时间:2017-10-23 19:00:39

标签: android encoding

我正在开发我的第一个Android应用程序,我在两个不同格式的Web服务的JSON响应中收到一些阿拉伯语消息。当我显示其中一个被正确翻译但其他被打印,因为它在编码的消息中。

这是第一个:

\u0635\u0641\u0631 \u0627\u0644\u0645\u0638\u0641\u0631

根据需要将其转换为正确的阿拉伯字符串。 但是

کامران

没有,我期待它是UTF-8编码的消息,但我无法转换它。任何人都可以帮助我理解这个编码的消息?

以下是我尝试转换但未更改的方式:

public String decodeString(String encodedString) {
  try {
    return new String(encodedString.getBytes(), "UTF-8");
  } catch(Exception e){
    e.printStackTrace();
    return encodedString;
  }
}

任何帮助表示赞赏。

非常感谢您在这件事上的时间和帮助。

当我在此处检查(کامران)消息时:http://www.cafewebmaster.com/online_tools/utf8_decode我收到了正确的回复。

请分享编码方案的一些细节,即两种编码之间的区别。

1 个答案:

答案 0 :(得分:2)

کامران看起来像Unicode代码点的HTML编码。您需要使用例如Apache commons StringEscapeUtils.unescapeHtml()解码HTML。

这里是图书馆的gradle依赖:

compile 'commons-lang:commons-lang:2.6'