0

我想将这样一个包含十六进制代码和普通字符的字符串转换为Java中的字符。示例输入是 \x3e\x3c/style\x3e\x3cscript\x3e\x3c!

输出应该是><style><script><

4

2 回答 2

1

这里有一些东西可以尝试。它不完全是一个衬线,因为 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><!
于 2013-06-17T21:04:25.207 回答
0

如果字符串是

x = '\x3e\x3c/style\x3e\x3cscript\x3e\x3c!'

然后使用

x.decode('string_escape')
于 2013-06-17T20:39:31.227 回答