关于Base64编码(Encode)与解码(Decode)的几种方式,这里面有道道

原创博文,欢迎转载,转载时请务必附上博文链接,感谢您的尊重。

前言

急于现在、立刻、马上解决问题的同学,请直接拉到最下面的【五、总结】!!!

通过本篇的学习,你将学会Base64的基本概念,优缺点,常用的编码、解码方法,以及项目中的实战使用。

更多使用Base64编码的原因,以及实际使用Demo,请看我另一篇博文详解AES、MD5加密算法的区别和实现,包含Utils类

更多使用Base64的方法,以及实战用法,请看我另一篇博文Java Base64工具类,提供常用(文件、图片、PDF、URL)转换方法(原创博文,欢迎转载)


一、Base64是什么?

Base64是网络上最常见的用于传输8Bit字节码的编码方式之一,是一种用64个字符来表示任意二进制数据的方法;

Base64编码不仅比较简短,同时也具有不可读性,即所编码的数据不会被人用肉眼所直接看到,但这种方式很初级,很简单;

Base64只是一种通过查表的编码算法,不是安全领域下的加解密算法,所以不能单独用于加密,即使使用自定义的编码表也不行;

Base64的编码与解码,只是字符到二进制与二进制到字符的过程,所以特别适用于小段内容的编码,比如http、数字证书签名、Cookie的内容等。

注意,UTF-8和GBK中文格式的Base64编码结果是不同的。


二、原理

Base64的原理很简单,首先,准备一个包含64个字符的数组:['A', 'B', 'C', ... 'a', 'b', 'c', ... '0', '1', ... '+', '/']

然后,对二进制数据进行处理,每3个字节一组,一共是3x8=24bit,划为4组,

评论 11
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Java Punk

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值