从收到的字符串中获取android UTF8编码

时间:2012-08-20 15:38:35

标签: java android

我收到的字符串未正确编码,如mystring%201,其中必须为mystring 1。我怎么能替换所有可以解释为UTF8的字符?我阅读了很多帖子,但没有完整的解决方案。请注意,字符串已编码错误,我不会询问如何编码char序列。几天前我向iOS提出了同样的问题,并使用stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding解决了。谢谢。

ios UTF8 encoding from nsstring

3 个答案:

答案 0 :(得分:22)

您可以使用URLDecoder.decode()功能,如下所示:

String s = URLDecoder.decode(myString, "UTF-8");

答案 1 :(得分:3)

看起来你的字符串是部分URL编码的,所以...... 怎么样:

try {
 System.out.println(URLDecoder.decode("mystring%201", "UTF-8"));
} catch(UnsupportedEncodingException e) {
 e.printStackTrace();
}

答案 2 :(得分:2)

  

我收到一个没有正确编码的字符串   " myString的%201

这个字符串已经是encoded,你必须解码:

String sDecoded = URLDecoder.decode("mystring%201", "UTF-8");

所以现在sDecoded的值必须为" mystring 1"。

"编码"字符串:

String sEncoded = URLEncoder.encode("mystring 1", "UTF-8");

sEncoded的值必须为" mystring%201"