是否有针对较短 UUID 的标准或替代方案?

Mic*_* G. 8 standards uuid base64 encoding

UUID 标准有多个版本。例如,版本 4 基于完全随机的输入。但它仍然对版本信息进行编码,并且仅使用可能的 128 位中的 125 位。

但对于通过 HTTP 传输这些内容,以 BASE64 进行编码会更有效。有用于此目的的库(https://github.com/skorokithakis/shortuuid)。

但我想知道:是否有更短的 ID 字符串的替代标准?当然,我可以将一个版本字节 + n 个随机字节组合在一起并对它们进行 BASE64 编码,拥有我自己的工作“短随机 ID 方案”,但我想知道在我自己制作之前是否有人已经指定了任何替代方案。

Ste*_*enS 12

没有更短的标准。

许多人都问过同样的问题,并且都得出相同的结论:UUID 对于他们的特定要求来说是多余的。他们开发了自己的替代方案,本质上可以归结为某种长度的随机字符串(基于数据集的预期大小),采用更高效的编码(如 base64)。他们中的许多人都发布了用于处理这些字符串的库。然而,他们都面临着同样的两个问题:

  1. 它们无法处理任意大的数据集(UUID 如此大的原因)
  2. 它们没有标准化,这意味着没有真正的互操作。

如果这些问题都不影响您,那么请随意选择任何可用的方案或推出您自己的方案。但是,如果您发现自己的需求有误,请务必考虑未来的成本,以及必须更改的成本是否证明您从一开始就没有使用经过验证的通用系统所获得的空间或复杂性方面的微小优势。