Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我正在使用 java 的 URLEncoder 获取用户提供的字符串并创建一个可安全用于文件名的字符串。我想知道两个不同的字符串有可能被编码为相同的值。
例如,如果一个字符串是“ABC%20D”,但由于 % 被用作替换特殊字符的字符,那么“ABC D”和“ABC%20D”之类的内容是否可能都以相同的编码值结束?或者编码器是否总是将 % 之类的字符替换为其他字符?
似乎使用您的示例输入对转义字符进行编码:
String result = URLEncoder.encode("ABC%20D", "UTF-8"); System.out.println(result); //prints ABC%2520D