1. 程式人生 > >利用StringEscapeUtils對字串進行各種轉義與反轉義(Java)

利用StringEscapeUtils對字串進行各種轉義與反轉義(Java)

       apache工具包common-lang中有一個很有用的處理字串的工具類,其中之一就是StringEscapeUtils,這個工具類是在2.3版本以上加上的去的,利用它能很方便的進行html,xml,java等的轉義與反轉義,而且還能對關鍵字串進行處理預防SQL注入,不過好像common-lang3.0以後我看著好像沒這個處理SQL語句的方法了,想用的話前提時引入對應的jar包,以下為它的部分方法:

它的方法,全是靜態,直接用類呼叫即可,下邊來根據程式碼看看它們幾個的用法和效果,一看一目瞭然:

package stringescapeutils;

import org.apache.commons.lang.StringEscapeUtils;

public class StringEscapeUtilsTest {

	public static void main(String args[]){
		
		String sql="1' or '1'='1";
		System.out.println("防SQL注入:"+StringEscapeUtils.escapeSql(sql));	//防SQL注入
		
		System.out.println("轉義HTML,注意漢字:"+StringEscapeUtils.escapeHtml("<font>chen磊  xing</font>")); 	//轉義HTML,注意漢字
		System.out.println("反轉義HTML:"+StringEscapeUtils.unescapeHtml("<font>chen磊  xing</font>"));	//反轉義HTML
		
		System.out.println("轉成Unicode編碼:"+StringEscapeUtils.escapeJava("陳磊興")); 	//轉義成Unicode編碼
		
		System.out.println("轉義XML:"+StringEscapeUtils.escapeXml("<name>陳磊興</name>")); 	//轉義xml
		System.out.println("反轉義XML:"+StringEscapeUtils.unescapeXml("<name>陳磊興</name>")); 	//轉義xml
		
	}
}

輸入結果:

防SQL注入:1'' or ''1''=''1
轉義HTML,注意漢字:<font>chen磊  xing</font>
反轉義HTML:<font>chen磊  xing</font>
轉成Unicode編碼:\u9648\u78CA\u5174
轉義XML:<name>陳磊興</name>
反轉義XML:<name>陳磊興</name>