【发布时间】:2020-06-11 11:15:54
【问题描述】:
以下代码行:
URI url = new URI("http://host?xyz=abc%u021B");
给出错误:
java.net.URISyntaxException:索引 19 处的转义对格式错误: http://host?xyz=abc%u021B
原因是%u021B的存在,一个non-standard encoding for Unicode character
有没有标准的方法来处理这个问题?
【问题讨论】:
-
这不是 URI,
java.net.URI不能直接使用它。你追求什么结果? -
@Joe 为什么你认为它不是 URI?
-
按照定义,我不认为你可以有一个非标准问题的标准解决方案。
-
也许“不是 URI”过于宽泛,但它不是 RFC 3986 sense 中的 URI。要么将其转换为一个,要么在不使用标准库的情况下对其进行处理。