我在这样的字符串对象中有一个 URL:
http://bhorowitz.com/2011/03/24/bubble-trouble-i-don't-think-so/
URL 可能包含也可能不包含需要编码的 unicode 字符。例如,上面的链接应该转换为:
http://bhorowitz.com/2011/03/24/bubble-trouble-i-don%e2%80%99t-think-so/
在我重定向到它之前。
如何正确转义所有特殊字符(例如 unicode),同时保持 URL 结构的其余部分不变?是否已经有东西可以做到这一点,或者我需要自己动手?
编辑:棘手的部分是我只需要转义无效字符,同时保持 URL 的其余部分不变(例如 http://应该保留为 http://并且不应该转义)。据我所知,URLEncoder 不允许我这样做。
最佳答案
我想这就是您真正要找的:
new URL(yourURLString).toURI().toASCIIString();
它只会对所需的字符进行编码,而不会影响其他所有字符。
关于java - 编码(并重定向)到在 Java 中具有特殊字符的 URL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5452649/