注意事项:
- 标准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=”;
- 一个字节:一个字节共8个二进制位,依旧按照规则进行分组。此时共8个二进制位,每6个一组,则第二组缺少4位,用0补齐,得到两个Base64编码,而后面两组没有对应数据,都用“=”补上。因此,如下图中“A”转换之后为“QQ==”

参考连接:base64编码 - 豁然高 - 博客园
热门文章
- 宠物粮在哪里批发的便宜(宠物粮在哪里批发的便宜些)
- 「2月9日」最高速度18.9M/S,2025年SSR/V2ray/Shadowrocket/Clash每天更新免费节点订阅链接
- 驱虫给猫多少钱(驱虫猫多少钱一次)
- 动物疫苗打一次管多长时间有效呢(动物疫苗打一次管多长时间有效呢图片)
- Vue+SpringBoot实现Excel在线预览功能
- 北京宠物领养公众号(北京领养宠物中心)
- PHP对象继承
- 「2月5日」最高速度21.3M/S,2025年Shadowrocket/V2ray/Clash/SSR每天更新免费节点订阅链接
- Spring Cloud Feign 分析之FeignClient注解实现版本兼容
- 动物医院有公立的吗还是私立医院好呢(动物医院归哪里管)