0

有一个字符串:Character\5C&\22\3C\3E'我想转义。

有一个代码:

package escaping;

import org.apache.commons.lang.StringEscapeUtils;

public class UnEscapingDemo {

    public static void main(String[] args) {

       String str = StringEscapeUtils.unescapeHtml("Character\\5C&\\22\\3C\\3E'");

       System.out.println(str);

    }

}

但最终我并没有期待结果。我有同样的东西我已经放了..(没有转换它)”。

为什么?

--

编辑:

相信这里的“3E”代表“>”..例如

所以,我期望的字符串是:Character\&"<>'

4

2 回答 2

1

您提到的不是 HTML,而是 URI 编码。在 HTML 中,<将是&lt;并且>将是&gt;.

你应该看看这个线程,并阅读 Tim Cooper 和 Draemon 的帖子。

于 2013-07-03T16:56:48.740 回答
0

嗯,这种奇怪的转义语法来自 OpenLdap ......

这对我有用:

 public static void main(String[] args) throws UnsupportedEncodingException {

        String input = "Character\\5C&\\22\\3C\\3E'";

       input = input.replace("\\", "%");

       String result = URLDecoder.decode(input, "UTF-8");

       System.out.println(result);

    }
于 2013-07-03T18:06:58.730 回答