我正在观看有关微型 url 系统设计的教程,并阅读了 base62 编码以避免冲突。他们说要使用计数器,并用 base62 对其进行编码。现在这是有道理的,但看看一些在线 base62 编码器,如果微小的 url 限制字符说只有 7 个字符,如果某些编码器生成超过 7 个字符。是否有多种类型的 base62 编码?例如这两个网站,对于 1000000 的相同输入给出 2 个不同的结果
问问题
106 次
1 回答
1
我不确定有什么实际用途base62
。base64
另一方面,可以将 6 位表示为一个字符,您的样本值1,000,000
(十六进制0xF4240
)使用 20 位,因此它适合 4 个base64
字符。
您的第一个示例使用纯文本1000000
,即 7 个字符,每个 8 位。或总共 56 个字符,即需要 10 个base64
字符。
您将获得类似的数字base62
,但编码必须非常重要,因为您不能简单地将数据切成 6 位片段。
上面的 Wiki 链接提到了多个变体,因此您必须在编码器和解码器之间达成一致 - 使用哪一个。但这不是您在两个示例中看到的问题。
于 2021-11-04T00:17:01.060 回答