首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >关于Base64编码的问题

关于Base64编码的问题
EN

Stack Overflow用户
提问于 2019-12-12 05:39:35
回答 1查看 96关注 0票数 0

关于base64,我有三个问题:

1) base64编码的目的是二进制到文本。文本不会以二进制形式通过web发送吗?那有什么好处呢?

2)过去他们使用7位通信系统,现在是8位。那为什么我们现在还在用它呢?

3)如何增加大小?我只是将28位的3字节重新排列成6位的4字节,但它们总共还是28位的吗?

EN

回答 1

Stack Overflow用户

发布于 2019-12-12 06:54:41

1)其目的不仅是二进制到文本的编码,还包括使用超出标准7位ASCII码的特定字符集/代码页的文本编码。在使用二进制数据的情况下,您还会遇到某些值会导致问题的问题。当在电子邮件或HTTP请求的一部分中传输时,数据中的值0可能会被解释为文本的结尾。在接收端,第一个0之后的所有内容都可能被“遗忘”,数据将被损坏。Base64编码通过将所有内容编码在64个字符的子集中来避免所有可能的问题,这些子集独立于实际的代码页,并且不包含任何控制字符。

文本不会以二进制形式通过web发送吗?

在引擎盖下,一切都是二进制的,无论是文本、图片、电影,还是执行的代码,它们都是内存和处理器寄存器中的一堆0和1。

2)见1)

3) 3字节是3*8比特= 24比特的信息。A base 64 character just represents 6 bits,因此您需要4个base64字符4*6位= 24位来对信息进行编码。但是这些base64字符是普通的8位字符,所以实际上这4个base64字符占据了4*8位= 32位的空间。这是33%的增长。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59294511

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档