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