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


原文:http://blog.csdn.net/chenleixing/article/details/43456987

 

 

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

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

 

[java]  view plain  copy
 
  1. package stringescapeutils;  
  2.   
  3. import org.apache.commons.lang.StringEscapeUtils;  
  4.   
  5. public class StringEscapeUtilsTest {  
  6.   
  7.     public static void main(String args[]){  
  8.           
  9.         String sql="1' or '1'='1";  
  10.         System.out.println("防SQL注入:"+StringEscapeUtils.escapeSql(sql)); //防SQL注入  
  11.           
  12.         System.out.println("轉義HTML,注意漢字:"+StringEscapeUtils.escapeHtml("<font>chen磊  xing</font>"));    //轉義HTML,注意漢字  
  13.         System.out.println("反轉義HTML:"+StringEscapeUtils.unescapeHtml("<font>chen磊  xing</font>"));  //反轉義HTML  
  14.           
  15.         System.out.println("轉成Unicode編碼:"+StringEscapeUtils.escapeJava("陳磊興"));     //轉義成Unicode編碼  
  16.           
  17.         System.out.println("轉義XML:"+StringEscapeUtils.escapeXml("<name>陳磊興</name>"));   //轉義xml  
  18.         System.out.println("反轉義XML:"+StringEscapeUtils.unescapeXml("<name>陳磊興</name>"));    //轉義xml  
  19.           
  20.     }  
  21. }  

 

 

 

 

輸入結果:

 

[java]  view plain  copy
 
  1. 防SQL注入:1'' or ''1''=''1  
  2. 轉義HTML,注意漢字:<font>chen磊  xing</font>  
  3. 反轉義HTML:<font>chen磊  xing</font>  
  4. 轉成Unicode編碼:\u9648\u78CA\u5174  
  5. 轉義XML:<name>陳磊興</name>  
  6. 反轉義XML:<name>陳磊興</name>  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM