为什么要使用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
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。