Android在util包中提供了android.util.Base64类
- 四个编码方法
public static byte[] encode(byte[] input, int flags)
public static byte[] encode(byte[] input, int offset, int len, int flags)
public static String encodeToString(byte[] input, int flags)
public static String encodeToString(byte[] input, int offset, int len, int flags)
- 三个解码方法
public static byte[] decode(String str, int flags)
public static byte[] decode(byte[] input, int flags)
public static byte[] decode(byte[] input, int offset, int len, int flags)
编码标准有以下几种:
- CRLF
Win风格的换行符,意思就是使用CR和LF这一对作为一行的结尾而不是Unix风格的LF。
CRLF是Carriage-Return Line-Feed的缩写,意思是回车(\r)换行(\n)。
也就是说,Window风格的行结束标识符是\r\n,Unix风格的行结束标识符是\n。
- DEFAULT
使用默认的方法来加密
- NO_PADDING
去掉加密字符串最后的“=”
- NO_WRAP
去掉所有的换行符(设置后CRLF就没用了)
- URL_SAFE
以-和_取代+和/
- NO_CLOSE
通常与Base64OutputStream
一起使用,是传递给Base64OutputStream
的标志指示它不应关闭正在包装的输出流