有没有可以完全解码 String 的方法?例如我有monta%25C3%25B1a ,如果我使用 UrlDecoder.decode 方法一次:它返回 monta%C3%B1a ,如果我再次解码,它最终返回 montaña (即完全解码的字符串)。Java中是否有任何方法或库可以达到这个结果?
1 回答
慕田峪9158850
TA贡献1794条经验 获得超7个赞
monta[%25]C3[%25]B1a
monta % C3 % B1a which has a UTF-8 multi-byte sequence
monta ñ a
使用与编码相同的字符集进行解码非常重要。显然它被 URL 编码了两次,第一次编码为 UTF-8,然后%仍然编码一次。
应该修复两次编码,否则会留下难以理解的补丁:
s = URLDecoder.decode(s, StandardCharsets.UTF_8);
s = URLDecoder.decode(s, StandardCharsets.UTF_8);
添加回答
举报
0/150
提交
取消