Java 将特殊字符编码为其十六进制代码
我有以下输入字符串:Java 将特殊字符编码为其十六进制代码,java,encoding,Java,Encoding,我有以下输入字符串:1%2fPJJP 我想将其转换为以下内容:1%;2fPJJP %的十六进制代码可在此处找到: 我如何在Java中实现它 public class HelloWorld { public static void main(String[] args) { String test = null; try { test = URLEncoder.encode("1%2fPJJP", "UTF-8");
1%2fPJJP
我想将其转换为以下内容:1%;2fPJJP
%
的十六进制代码可在此处找到:
我如何在Java中实现它
public class HelloWorld {
public static void main(String[] args) {
String test = null;
try {
test = URLEncoder.encode("1%2fPJJP", "UTF-8");
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
System.out.println(test);
}
}
但我得到了以下信息:1%252fPJJP
我该怎么做?这是已知的转换吗?在这里可以找到%的十六进制代码:我想您可以只做
str.replace(“%”,“%;”)
但是为什么要这样做%
在XML和HTML中都是完全合法的字符;它不需要像这样逃脱。你想达到什么目标?(另一方面,在URL中,字符实体将没有任何意义。在URL的查询部分,&
和;
将分隔键=值对;在路径之后但在查询之前,;
将分隔参数段,因此我认为您不希望将其放在URL中。)