java 转义特殊字符

public class HtmlUtilsTest {

    public static void main(String[] args) {

        String specialStr = "溯动画电影的上游——";
        String str1 = HtmlUtils.htmlEscape(specialStr); // ①转换为HTML转义字符表示
        System.out.println(str1);
        String str2 = HtmlUtils.htmlEscapeDecimal(specialStr);// ②转换为数据转义表示
        System.out.println(str2);
        String str3 = HtmlUtils.htmlEscapeHex(specialStr); // ③转换为十六进制数据转义表示
        System.out.println(str3);
        // ④下面对转义后字符串进行反向操作
        System.out.println(HtmlUtils.htmlUnescape(str1));
        System.out.println(HtmlUtils.htmlUnescape(str2));
        System.out.println(HtmlUtils.htmlUnescape(str3));

        // http://www.blogjava.net/i369/articles/236830.html
        // HtmlUtils 提供了三个转义方法:
        // 方法 说明
        // static String htmlEscape(String input) 将 HTML 特殊字符转义为 HTML 通用转义序列;
        // static String htmlEscapeDecimal(String input) 将 HTML 特殊字符转义为带 #
        // 的十进制数据转义序列;
        // static String htmlEscapeHex(String input) 将 HTML 特殊字符转义为带 #
        // 的十六进制数据转义序列;
        //
        // 此外,HtmlUtils 还提供了一个能够将经过转义内容还原的方法:htmlUnescape(String
        // input),它可以还原以上三种转义序列的内容。运行以上代码,您将可以看到以下的输出:
        //
        // str1:<div id="testDiv">test1;test2</div>
        // str2:<div id="testDiv">test1;test2</div>
        // str3:<div id="testDiv">test1;test2</div>
        // <div id="testDiv">test1;test2</div>
        // <div id="testDiv">test1;test2</div>
        // <div id="testDiv">test1;test2</div>
        //
        //
        //
        // 您只要使用 HtmlUtils 对代码 清单 1 的 userName 和 address 进行转义处理,最终输出的 HTML
        // 页面就不会遭受破坏了。
    }

}
原文地址:https://www.cnblogs.com/zuge/p/6351385.html