【发布时间】:2021-12-03 10:30:16
【问题描述】:
我在当今的互联网上看到了许多关于 base64 用法的资源。据我了解,所有这些资源似乎都以不同的方式说明了单个用例:在 Base64 中编码 binary 数据,以避免在 transit 期间将其误解/损坏为其他内容(通过中间系统)。但我没有发现任何解释以下内容:
- 为什么二进制数据会被中间系统破坏?如果我将图像从服务器发送到客户端,任何中间服务器/系统/路由器将简单地将数据转发到客户端路径中的下一个适当的服务器/系统/路由器。为什么中间服务器/系统/路由器需要解释它接收到的东西?在当今的互联网上,有任何此类系统可能会损坏/错误解释其接收到的数据的示例吗?
- 为什么我们只担心二进制数据被破坏。我们使用 Base64 是因为我们确信这 64 个字符永远不会被破坏/误解。但是通过同样的逻辑,任何不属于 base64 字符的文本字符都可能被破坏/误解。那么为什么 base64 只用于编码 binary 数据呢?扩展同样的思路,当我们使用浏览器时,javascript和HTML文件是以base64形式传输的吗?
【问题讨论】:
标签: encoding character-encoding binary base64 ascii