encoding - 为什么不使用base128?

标签 encoding language-agnostic binary

为什么在网络上传输二进制数据时只使用base64而不是base128? ASCII字符集有128个字符,理论上可以表示base 128,但大多数情况下只使用base64而不使用base128。

最佳答案

问题是 ASCII 字符集中至少有 32 个字符是可以被接收终端解释的“控制字符”。例如,BEL(响铃)字符使接收终端发出铃声。 SOT(传输开始)和 EOT(传输结束)字符的作用正如其名称所暗示的那样。并且不要忘记字符 CR 和 LF,它们可能在数据结构如何序列化/展平到流中具有特殊含义。

Adobe 创建了 the Base85 encoding使用 ASCII 字符集中的更多字符,但据我所知它受专利保护。

关于encoding - 为什么不使用base128?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6008047/

相关文章:

java - 二分查找总是返回-1?

xml - 如何在 perl 中编辑 XML 文件的内容?

c++ - 二进制 I/O 到具有二维动态数组的文件

Android:二进制 XML 文件行错误膨胀类

c# - 构造函数中的代码是否添加到子类构造函数中的代码?

recursion - 你应该如何处理递归?

algorithm - 高效计算一行中给定的一组 "blocks"的排列

c# - 从 RESTful API 加载许多 Base64 图像

apache - 尽管 URIEncoding ="UTF-8"UTF-8 问题

java - 从 BLOB 字段下载文件