为了账号安全,请及时绑定邮箱和手机立即绑定

UrlDecoder解码多次

UrlDecoder解码多次

慕哥6287543 2023-08-04 16:28:51
有没有可以完全解码 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);


查看完整回答
反对 回复 2023-08-04
  • 1 回答
  • 0 关注
  • 183 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信