1. 程式人生 > >用Base64加密資料解決json傳輸資料中特殊字元問題

用Base64加密資料解決json傳輸資料中特殊字元問題

在用json進行遠端同步資料時,json中的資料有特殊字元時,容易造成json解析不了。用對特殊字元進行轉義,實現太麻煩(個人覺得)。於是想到了對屬性值進行加密處理,而且加密後的資料不會有特殊字元。而base64非常適合(個人覺得base64的出現就是為了解決資料傳輸特殊字元的問題)。

import java.io.UnsupportedEncodingException;

import org.apache.commons.codec.binary.Base64;

public class Base64Util {
	/** 
     * @param bytes 
     * @return 
     */  
    public static String decode(final String string) {  
        try {
			return new String(Base64.decodeBase64(string.getBytes("UTF-8")), "utf-8");
		} catch (UnsupportedEncodingException e) {
			e.printStackTrace();
			return null;
		}
    }  
  
    /** 
     * 二進位制資料編碼為BASE64字串 
     * 
     * @param bytes 
     * @return 
     * @throws Exception 
     */  
    public static String encode(final String string) {  
        try {
			return new String(Base64.encodeBase64(string.getBytes("UTF-8")),"UTF-8");
		} catch (UnsupportedEncodingException e) {
			e.printStackTrace();
			return null;
		}  
    }
}


其中需要commons-codec-1.3.jar包。