使用StringEscapeUtils对Java中特殊字符进行转义和反转义

 1、引用jar包:commons-lang.jar

2、示例:

import org.apache.commons.lang.StringEscapeUtils; 
public class Test { 
    public static void main(String[] args) { 
 
        String str = "thi is a test 这是一个测试";
		String xml = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"
				+ "<persons>\n" + " <person id=\"23\">\n"
				+ " <name>张 三</name>\n" + " <age>26</age>\n" + "</person>\n"
				+ " <person id=\"22\">\n" + " <name>李四</name>\n"
				+ " <age>25</age>\n" + " </person>\n" + "</persons>";
		System.out.println("用escapeJava方法转义之后的字符串为:"
				+ StringEscapeUtils.escapeJava(str));
		System.out.println("用unescapeJava方法反转义之后的字符串为:"
				+ StringEscapeUtils.unescapeJava(StringEscapeUtils
						.escapeJava(str)));
		System.out.println("用escapeHtml方法转义之后的字符串为:"
				+ StringEscapeUtils.escapeHtml(str));
		System.out.println("用unescapeHtml方法反转义之后的字符串为:"
				+ StringEscapeUtils.unescapeHtml(StringEscapeUtils
						.escapeHtml(str)));
		System.out.println("用escapeXml方法转义之后的字符串为:"
				+ StringEscapeUtils.escapeXml(xml));
		System.out.println("用unescapeXml方法反转义之后的字符串为:"
				+ StringEscapeUtils.unescapeXml(StringEscapeUtils
						.escapeXml(xml)));
		System.out.println("用escapeJavaScript方法转义之后的字符串为:"
				+ StringEscapeUtils.escapeJavaScript(str));
		System.out.println("用unescapeJavaScript方法反转义之后的字符串为:"
				+ StringEscapeUtils.unescapeJavaScript(StringEscapeUtils
						.unescapeJavaScript(str)));
    }
}

3、运行结果:

用escapeJava方法转义之后的字符串为:thi is a test \u8FD9\u662F\u4E00\u4E2A\u6D4B\u8BD5 用unescapeJava方法反转义之后的字符串为:thi is a test 这是一个测试 
用escapeHtml方法转义之后的字符串为:thi is a test &#36825;&#26159;&#19968;&#20010;&#27979;&#35797; 
用unescapeHtml方法反转义之后的字符串为:thi is a test 这是一个测试 
用escapeXml方法转义之后的字符串为:&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt; &lt;persons&gt; &lt;person id=&quot;23&quot;&gt; &lt;name&gt;&#24352; &#19977;&lt;/name&gt; &lt;age&gt;26&lt;/age&gt; &lt;/person&gt; &lt;person id=&quot;22&quot;&gt; &lt;name&gt;&#26446;&#22235;&lt;/name&gt; &lt;age&gt;25&lt;/age&gt; &lt;/person&gt; &lt;/persons&gt; 
用unescapeXml方法反转义之后的字符串为:<?xml version="1.0" encoding="UTF-8"?> <persons> <person id="23"> <name>张 三</name> <age>26</age> </person> <person id="22"> <name>李四</name> <age>25</age> </person> </persons> 
用escapeJavaScript方法转义之后的字符串为:thi is a test \u8FD9\u662F\u4E00\u4E2A\u6D4B\u8BD5 用unescapeJavaScript方法反转义之后的字符串为:thi is a test 这是一个测试

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值