为什么要用base64编码

Posted layfork

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了为什么要用base64编码相关的知识,希望对你有一定的参考价值。

1.需求

了解为什么要使用base64对数据编码

2.理由

因为传输二进制数据的时候,网络中间的有些路由会把ascii码中的不可见字符删了,导致数据不一致。一般也会对url进行base64编码

When you have some binary data that you want to ship across a network, you generally don‘t do it by just streaming the bits and bytes over the wire in a raw format. Why? because some media are made for streaming text. You never know -- some protocols may interpret your binary data as control characters (like a modem), or your binary data could be screwed up because the underlying protocol might think that you‘ve entered a special character combination (like how FTP translates line endings).

So to get around this, people encode the binary data into characters. Base64 is one of these types of encodings. Why 64? Because you can generally rely on the same 64 characters being present in many character sets, and you can be reasonably confident that your data‘s going to end up on the other side of the wire uncorrupted.

 

参考资料:

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

https://segmentfault.com/q/1010000000801988/a-1020000002230260

以上是关于为什么要用base64编码的主要内容,如果未能解决你的问题,请参考以下文章

Golang---BASE64编码原理

Java 保存图片到数据库时,为啥要对图片进行base64编码

Base64 编码知识,一文打尽!

什么是BASE64编码?

前端对base64编码的理解,原生js实现字符base64编码

从原理上搞定编码-- Base64编码