如何在Java中正确解码以下字符串

http%3A//www.google.ru/search%3Fhl%3Dru%26q%3Dla+mer+powder%26btnG%3D%u0420%A0%u0421%u045F%u0420%A0%u0421%u2022%u0420%A0%u0421%u2018%u0420%u040E%u0420%u0453%u0420%A0%u0421%u201D+%u0420%A0%u0420%u2020+Google%26lr%3D%26rlz%3D1I7SKPT_ru


当我使用URLDecoder.decode()时出现以下错误

java.lang.IllegalArgumentException: URLDecoder: Illegal hex characters in escape (%) pattern - For input string: "u0"


谢谢,
戴夫

最佳答案

根据Wikipedia,“存在Unicode字符的非标准编码:%uxxxx,其中xxxx是Unicode值”。
继续:“此行为未由任何RFC指定,并且已被W3C拒绝”。

您的URL包含此类标记,而Java URLDecoder实现不支持这些标记。

10-07 23:30