为什么只使用base64而不是base128在web上传输二进制数据?ASCII字符集有128个字符,理论上可以表示基数128,但在大多数情况下只使用base64而不使用base128。
发布于 2011-05-15 19:23:24
因为这128个字符中的一些字符是无法打印的(主要是那些低于码点0x20的字符)。因此,它们不能作为字符串在线路上可靠地传输。而且,如果超过码点128,可能会出现编码问题,因为系统之间使用了不同的编码。
发布于 2013-12-19 21:07:50
前32个字符是控制字符完全没有关系,因为您不必使用它们来获取128个字符。我们有256个字符可供选择,只有前32个字符是控制字符。剩下192个字符,因此完全可以在不使用控制字符的情况下使用128。
原因是:它必须是看起来相同的东西,并且无论在哪里你都可以复制和粘贴。因此,它必须是字符,将显示相同的任何论坛,聊天,电子邮件等。这意味着我们不能使用字符,论坛/聊天/电子邮件客户端通常会使用这些字符进行格式化或忽略。它还必须是相同的字符,而不管字体、语言和区域设置如何。
这就是原因!
发布于 2011-05-15 19:22:54
不确定,但我认为较低的值(表示控制代码或其他东西)在HTTP请求/响应中不能可靠地作为文本/字符传输,而高于127的值可能是区域设置/代码页/其他特定的,所以不可能有128个不同的字符可以在所有浏览器/平台上工作。
https://stackoverflow.com/questions/6008047
复制相似问题