springboot base64_base64转码
注意事项:
-
标准base64是一种编码转换,不是加密方法,过程可逆; 标准base64的64个可打印字符由52个大小写英文字母和10个数字(0-9)以及 / 和 + 组成; base64为了方便把含有不可见字符串的信息用可见字符串表示出来;
代码如下:
importimport
运行结果:
编码后编码后
java8可以直接使用Base64,转换原理如下:
- 将二进制数据每三个字节分为一组,每个字节占8bit,那么共有24个二进制位。
- 将上面的24个二进制位每6个一组,共分为4组。
- 在每组前添加2个0,每组由6个变为8个二进制位,总共32个二进制位,也就是四个字节。
- 根据base64编码对照表将每个字节转化成对应的可打印字符
转化实例如下图:
标准base64的64个可打印字符由52个大小写英文字母和10个数字(0-9)以及 / 和 + 组成,编码对照表如下:
base64是将二进制每三个字节转为4个字节,会有不足三个字节的情况,处理如下:
- 两个字节:两个字节共16个二进制位,依旧按照规则进行分组。此时总共16个二进制位,每6个一组,则第三组缺少2位,用0补齐,得到三个Base64编码,第四组完全没有数据则用“=”补上。因此,如下图中“BC”转换之后为“QKM=”;
参考连接:base64编码 - 豁然高 - 博客园
https://u.wechat.com/EOh0vnydE7kOgWMLPNtlIBY (二维码自动识别)
注意事项: 标准base64是一种编码转换,不是加密方法,过程可逆; 标准base64的64个可打印字符由52个大小写英文字母和10个数字(0-9)以及 / 和 + 组成; base64为了方便把含有不可见字符串的信息用可见字符串表示出来; 代码如下: import 运行结果: 编码后 java8可以直接使用Base64,转换原理如下: 将二进制数据每三个字节分为一组,每个字节占8bit,那么共有24个二进制位。 将上面的24个二进制位每6个一组,共分为4组。 在每组前添加2个0,每组由6个变为8个二进制位,总共32个二进制位,也就是四个字节。 根据base64编码对照表将每个字节转化成对应的可打印字符 转化实例如下图: 标准base64的64个可打印字符由52个大小写英文字母和10个数字(0-9)以及 / 和 + 组成,编码对照表如下: base64是将二进制每三个字节转为4个字节,会有不足三个字节的情况,处理如下: 两个字节:两个字节共16个二进制位,依旧按照规则进行分组。此时总共16个二进制位,每6个一组,则第三组缺少2位,用0补齐,得到三个Base64编码,第四组完全没有数据则用“=”补上。因此,如下图中“BC”转换之后为“QKM=”; 参考连接:base64编码 - 豁然高 - 博客园 https://u.wechat.com/EOh0vnydE7kOgWMLPNtlIBY (二维码自动识别)