Base64严格意义上来说只是一种编码格式,可用于在HTTP环境下传递较长的标识信息。
采用Base编码具有不可读性,即所编码的数据不会被人用肉眼所直接看到。
它是一种基于用64个可打印字符来表示二进制数据的表示方法。
它通常用作存储、传输一些二进制数据编码方法!
也是MIME(多用途互联网邮件扩展,主要用作电子邮件标准)中一种可打印字符表示二进制数据的常见编码方法!
它其实只是定义用可打印字符传输内容一种方法,并不会产生新的字符集!
下面是代码实现:
-
首先引入依赖(gradle)
compile("commons-codec:commons-codec:1.10")
-
实现编码
import org.apache.commons.codec.binary.Base64;
/**
* 对指定的字符串进行base64编码
*/
public static String encode(String content) throws UnsupportedEncodingException {
if (null == content) {
return null;
}
return Base64.encodeBase64String(content.getBytes("utf-8"));
}
- 实现解码
/**
* 对指定的字符串进行base64解码
*/
public static String decode(String content) throws UnsupportedEncodingException {
if (null == content) {
return null;
}
byte[] bytes = Base64.decodeBase64(content.getBytes("utf-8"));
return new String(bytes);
}
- 测试
public static void main(String[] args) throws UnsupportedEncodingException {
String content = "这是一段测试文字";
String encode_content = encode(content);
System.out.println("base64编码后的内容:"+encode_content);
System.out.println("base64解码后的内容:"+decode(encode_content));
}
- 输出结果
base64编码后的内容:6L+Z5piv5LiA5q615rWL6K+V5paH5a2X
base64解码后的内容:这是一段测试文字
网友评论