我想将这样一个包含十六进制代码和普通字符的字符串转换为Java中的字符。
输入示例为\ x3e \ x3c / style \ x3e \ x3cscript \ x3e \ x3c!
输出应为><style><script><
!
最佳答案
这里有一些尝试。它不是一个单一的衬里,因为URLDecoder.decode要抛出异常。
import java.net.URLDecoder;
public class TestDecode {
public void run() throws Exception {
String test = "\\x3e\\x3c/style\\x3e\\x3cscript\\x3e\\x3c!";
System.out.printf("%s\n", URLDecoder.decode(test.replaceAll("\\\\x", "%"), "UTF-8"));
}
public static final void main(String[] args) throws Exception {
TestDecode td = new TestDecode();
td.run();
}
}
运行时的输出为:
></style><script><!