使用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 這是一個測試

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章