用于 URL 的 Guid 的最短编码
Mads Kristensen 得到了一个 00amyWGct0y_ze4lIsj2Mw
它可以小于那?
Mads Kristensen got one down to 00amyWGct0y_ze4lIsj2Mw
Can it go smaller than that?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
看起来只有 73 个字符可以在 URL 中使用未转义的字符。 如果是这种情况,您可以将 128 位数字转换为基数 73,并获得 21 个字符的 URL。
如果您可以找到 85 个合法字符,则可以将 URL 缩减为 20 个字符。
Looks like there are only 73 characters that can be used unescaped in a URL. IF that's the case, you could convert the 128-bit number to base 73, and have a 21 character URL.
IF you can find 85 legal characters, you can get down to a 20 character URL.
GUID 看起来像这样 c9a646d3-9c61-4cb7-bfcd-ee2522c8f633 - 这是 32 个十六进制数字,每个编码 4 位,因此总共 128 位
Base64 编码每个符号使用 6 位,这很容易通过 URL 安全字符来实现22 个字符的编码字符串。 正如其他人所指出的,您可以使用 73 个 url 安全符号并编码为基数 73 数字来给出 21 个字符。
A GUID looks like this c9a646d3-9c61-4cb7-bfcd-ee2522c8f633 - that's 32 hex digits, each encoding 4 bits, so 128 bits in total
A base64 encoding uses 6 bits per symbol, which is easy to achieve with URL safe chars to give a 22 char encoded string. As others have noted, you could with with 73 url safe symbols and encoded as a base 73 number to give 21 chars.