34 条回复  ·  392 次点击
FengMubai 小成 2024-8-30 16:46:54

为什么最流行的编码算法是刚好带两个符号破坏兼容性的 base64,而不是能够无视大小写的 base36、不带符号的 base62?这两个符号不仅严重影响兼容性使标准码表的 base64 不能直接拼在 url 中,还没有增加多少信息密度

base16(hex): 变为原来的 2 倍
base32: 1.6 倍
base64: 1.333 倍
base85: 1.25 倍

base85 里有反斜线, base64 已经很折中了
BugCry 小成 2024-8-30 16:53:50

为什么最流行的编码算法是刚好带两个符号破坏兼容性的 base64,而不是能够无视大小写的 base36、不带符号的 base62?这两个符号不仅严重影响兼容性使标准码表的 base64 不能直接拼在 url 中,还没有增加多少信息密度

网站可以发出来看一下吗,我保证不做 sql 注入
zpfhbyx 小成 2024-8-30 17:01:50

为什么最流行的编码算法是刚好带两个符号破坏兼容性的 base64,而不是能够无视大小写的 base36、不带符号的 base62?这两个符号不仅严重影响兼容性使标准码表的 base64 不能直接拼在 url 中,还没有增加多少信息密度

base64 urlsafe
oamu 小成 2024-8-30 17:03:19

为什么最流行的编码算法是刚好带两个符号破坏兼容性的 base64,而不是能够无视大小写的 base36、不带符号的 base62?这两个符号不仅严重影响兼容性使标准码表的 base64 不能直接拼在 url 中,还没有增加多少信息密度

稍微了解下位运算也不至于说出 “码表长度是 2 的整数次方没有任何的加成。” 这种话。
msg7086 小成 2024-8-30 17:58:11

为什么最流行的编码算法是刚好带两个符号破坏兼容性的 base64,而不是能够无视大小写的 base36、不带符号的 base62?这两个符号不仅严重影响兼容性使标准码表的 base64 不能直接拼在 url 中,还没有增加多少信息密度

URL 不适合用 base64 所以有了 base64 的 url-safe 版本。
Cookie 不是问题吧,本来就是按等号分割成两部分,第二部分有没有等号不影响使用。
NoOneNoBody 小成 2024-8-30 18:11:58

为什么最流行的编码算法是刚好带两个符号破坏兼容性的 base64,而不是能够无视大小写的 base36、不带符号的 base62?这两个符号不仅严重影响兼容性使标准码表的 base64 不能直接拼在 url 中,还没有增加多少信息密度

既然都说的二进制,总应该知道 6 个 bit 就是 64 吧? 62 不能完整表示 6 个 bit 啊,36 表示 5 个 bit 又浪费了几个字符
这些编码本来就早于 url 诞生的,你应该问的是为什么 url 标准不考虑兼容 base64

base64 的重要思想是将 bytes 以可视、非控制字符表示,是 bytes 类型转无控制字符的 string 类型的最简单实现,压根就和 url 没什么关系
cheng6563 小成 2024-8-30 19:10:34

为什么最流行的编码算法是刚好带两个符号破坏兼容性的 base64,而不是能够无视大小写的 base36、不带符号的 base62?这两个符号不仅严重影响兼容性使标准码表的 base64 不能直接拼在 url 中,还没有增加多少信息密度

有没有可能就是单纯的 base64 比 url 诞生的早?
GeekGao 小成 2024-8-30 19:15:45

为什么最流行的编码算法是刚好带两个符号破坏兼容性的 base64,而不是能够无视大小写的 base36、不带符号的 base62?这两个符号不仅严重影响兼容性使标准码表的 base64 不能直接拼在 url 中,还没有增加多少信息密度

延续 40 楼的发言:
Base64 最早是在 1993 年由 IETF (互联网工程任务组)定义的。当时,它作为 MIME (多用途互联网邮件扩展)协议的一部分被提出。
在那之前,互联网主要用于电子邮件和文件传输,但 WWW ( World Wide Web )还处于非常早期的阶段。Base64 并不是专门为 WWW 发明的,但它恰好在 WWW 开始普及之际被标准化。这种巧合使得 Base64 成为 WWW 生态系统中的一个重要工具,为网页中的二进制数据传输提供了可靠的解决方案。
n18255447846 小成 2024-8-30 19:29:36

为什么最流行的编码算法是刚好带两个符号破坏兼容性的 base64,而不是能够无视大小写的 base36、不带符号的 base62?这两个符号不仅严重影响兼容性使标准码表的 base64 不能直接拼在 url 中,还没有增加多少信息密度

1. base64 应用广泛
2. 处理 url 需要 encode/decode
Terminl 小成 2024-8-31 07:46:19

为什么最流行的编码算法是刚好带两个符号破坏兼容性的 base64,而不是能够无视大小写的 base36、不带符号的 base62?这两个符号不仅严重影响兼容性使标准码表的 base64 不能直接拼在 url 中,还没有增加多少信息密度

@drymonfidelia 这个还真不是 base64 的锅,完全是你的个人技术问题,图片传输也用 base64,data:image/png;base64,这种多符号的你不是丢失的更多信息?
返回顶部