base64相关

Posted thought

tags:

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

因为早期的一些邮件服务器只支持文本信息,不支持二进制信息和文件。而base64编码后的结果都是纯文本的,适合用电子邮件来传送二进制数据。
Base64是网络上最常见的用于传输8Bit字节代码的编码方式之一,大家可以查看RFC2045~RFC2049,上面有MIME的详细规范。Base64编码可用于在HTTP环境下传递较长的标识信息。
在Java Persistence系统Hibernate中,就采用了Base64来将一个较长的唯一标识符(一般为128-bit的UUID)编码为一个字符串,用作HTTP表单和HTTP GET URL中的参数。在其他应用程序中,也常常需要把二进制数据编码为适合放在URL(包括隐藏表单域)中的形式。此时,采用Base64编码具有不可读性,即所编码的数据不会被人用肉眼所直接看到。
以上部分原文链接:https://zhidao.baidu.com/question/1541102342338060587.html
Base64编码
 
有的电子邮件系统(比如国外信箱)不支持非英文字母(比如汉字)传输,  Base64编码这是历史原因造成的(认为只有美国会使用电子邮件?)。因为一个英文字母使用ASCII编码来存储,占存储器的1个字节(8位),实际上只用了7位2进制来存储,第一位并没有使用,设置为0,所以,这样的系统认为凡是第一位是1的字节都是错误的。而有的编码方案(比如GB2312)不但使用多个字节编码一个字符,并且第一位经常是1,于是邮件系统就把1换成0,这样收到邮件的人就会发现邮件乱码。
 
 
为了能让邮件系统正常的收发信件,就需要把由其他编码存储的符号转换成ASCII码来传输。比如,在一端发送GB2312编码->根据Base64规则->转换成ASCII码,接收端收到ASCII码->根据Base64规则->还原到GB2312编码。

 

以上是关于base64相关的主要内容,如果未能解决你的问题,请参考以下文章

图片和base64互转

JavaScript 原生提供两个 Base64 相关的方法

VC++详解Base64编解码原理以及Base64编解码接口实现(附源码)

python标准模块介绍 -Base64: Base64, Base85等数据编码

Delphi 文件转换Base64Base64转换文件

从原理上理解Base64编码