Base64应用场景

比较老的协议还是只支持纯文本的,比如SMTP协议。

有时在一些特殊应用的场合,大多数消息是纯文本的,偶尔需要用这条纯文本通道传一张图片之类的情况发生的时候,就会用到base64

http虽然也是纯文本协议,但是http有针对二进制数据做特殊的规定(mime),所以用http直接传输二进制数据是可行的。但是有些特殊情况,比如返回需要在json内部之类的。

在互联网上传输图片,音乐,视频,语音等等这些二进制数据是常用的需求, 最好要对所有发送的数据进行序列化后再进行网络传输。

正规的流程是:

先用 base64 把这些不可见字节数据编码为可见字节数据,然后再转为字符串类型,然后在通过 json 进行序列化,然后再编码为字节流通过网络发送出去。而对方收到数据后,要先把字节流解码为字符串,然后再反序列化,然后再转为字节类型数据,然后再使用 base64 解码还原成原始数据。

注意:

base64 仅仅是把二进制数据安装一定的算法转化为 ascii,但不要作为加密行为。

好处:

第一、首先方便打包,有些资源可以直接encode成字符串随着代码一起分发。

第二、有些时候和其他系统对接的时候,一个字符串经过层层编码解码,要是哪个系统给你escape或者unescape了一下,你就麻烦了。这时候最佳的方案就是直接用base64,因为基础,所以基本不用担心被篡改。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值