Base64
来源:互联网 发布:电线传输网络信号 编辑:程序博客网 时间:2024/05/22 02:19
Base64算法原理:
1.将字符串以字符为单位,转换为字符编码(如ASCII)
2.字符编码转换成二进制,每3个8bit的字符为一组
3.再将这24bit划分为4个6bit的字节,并在每个6bit的字节前面都填两个高位0,得到4个8bit的字节
4.这4个8bit的字节转换成10进制,对照Base64编码表,得到对应编码后的字符
T o m
ASCII: 84 111 109
8bit字节: 01010100 01101111 01101101
6bit字节: 010101 000110 111101 101101
十进制: 21 6 61 45
对应编码: V G 9 t
如果是中文字符,采用UTF-8,3个字节表示一个汉字,如“密”,UTF-8编码为-27,-81,-122
Base64实现
推荐使用commons.codec
import java.io.UnsupportedEncodingException;import org.apache.commons.codec.binary.Base64;public class Base64Util { private final static String ENCODING = "UTF-8"; public static String encode(String str) throws UnsupportedEncodingException{ byte []data = Base64.encodeBase64(str.getBytes(ENCODING)); return new String(data,ENCODING); } public static String decode(String str) throws UnsupportedEncodingException{ byte []data = Base64.decodeBase64(str); return new String(data,ENCODING); }}
0 0
- base64
- BASE64
- Base64
- BASE64
- Base64
- Base64
- base64
- base64
- base64
- base64
- base64
- Base64
- base64
- base64
- Base64
- BASE64
- Base64
- Base64
- json在线解析
- LED数码管显示
- POI的使用
- 字符串的排列 【微软面试100题 第五十三题】
- ubuntu下使用jpcap
- Base64
- 努力学习安卓
- VS2012配置WTL
- Android调整TimePicker和DatePicker大小
- 使用CXF 开发SOAP 的webService接口客户端
- rm恢复
- 【LeetCode】Longest Common Prefix
- imagecreatefromjpeg(): gd-jpeg, libjpeg: recoverable error: Corrupt JPEG data: 1 extraneous bytes be
- 将 Xml 文章通过对象的形式保存到 缓存中