有沒有可以完全解碼 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
提交
取消