用Base64加密資料解決json傳輸資料中特殊字元問題
阿新 • • 發佈:2019-02-09
在用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包。