为什么要使用base64编码,有哪些情景需求?

https://www.zhihu.com/question/36306744

简单说,因为某些场合并不能传输或者储存二进制流。

比如,如果一个传输协议是基于ASCII文本的,那么它就不能传输二进制流,那你要将二进制流传输就得编码。常见的诸如 http 协议的 url 就是纯文本的,不能直接放二进制流。

特别的,大多数现代语言的 String 类型,都不能直接储存二进制流,但可以储存BASE64编码的字符串。如果你希望用 String 类型操作一切数据,那就没法直接用二进制流。

当然,另外还有一个原因,就是某些协议会对二进制流中的特定字符进行特殊处理(比如ASCII的0~32编码的字符在某些传输介质中,是会被当作特殊含义处理的),这种时候就需要通过编码来避开这些特定字符了。



作者:pansz
链接:https://www.zhihu.com/question/36306744/answer/2552438868
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
posted @ 2022-11-17 11:18  yinghualeihenmei  阅读(24)  评论(0编辑  收藏  举报