11

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

来自nsstring的ios UTF8编码

4

3 回答 3

23

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

String s = URLDecoder.decode(myString, "UTF-8");
于 2012-08-20T15:46:57.650 回答
4

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

try {
 System.out.println(URLDecoder.decode("mystring%201", "UTF-8"));
} catch(UnsupportedEncodingException e) {
 e.printStackTrace();
}
于 2012-08-20T15:44:18.720 回答
3

我收到一个未正确编码的字符串,例如“mystring%201

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

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

所以 nowsDecoded必须有 " mystring 1" 的值。

字符串的“编码”:

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

sEncoded必须具有“ mystring%201”的值

于 2015-10-13T15:09:05.103 回答