是否可能与URLEncoder发生名称冲突

时间:2012-04-12 20:52:56

标签: java urlencode

我正在使用java的URLEncoder来获取用户提供的字符串并创建一个可以安全用于文件名的字符串。我想知道是否有可能将两个不同的字符串编码为相同的值。

例如,如果一个字符串是“ABC%20D”但由于%用作替换特殊字符的字符,那么“ABC D”和“ABC%20D”之类的内容可能最终都是相同的编码值?或者编码器是否总是将%等字符替换为其他字符?

1 个答案:

答案 0 :(得分:2)

似乎使用您的示例输入编码转义字符:

String result = URLEncoder.encode("ABC%20D", "UTF-8");
System.out.println(result);  //prints ABC%2520D