为什么要小写uuid?

Why lowercase uuid?

我正在考虑使用 uuid 来区分我的 swift 应用程序,并在网上四处寻找如何实现它。在搜索时,我经常发现人们将 uuid 小写,例如:

let uuid = NSUUID().UUIDString.lowercaseString

将 uuid 小写不是不必要的或使其不那么随机吗?

变量名的命名约定要小写(即使是首字母缩略词):

  • using uppercase for types (and protocols), lowercase for everything else

这里有一份 Swift 编程风格指南供参考: https://github.com/raywenderlich/swift-style-guide

还参考了以下SwiftAPI设计指南: https://swift.org/documentation/api-design-guidelines/

因为是国际标准要求

You may find the information here

6.5.4 生成UUID 十六进制表示的软件不得使用大写字母。 注 – 建议将所有人类可读格式中使用的十六进制表示限制为小写 字母。

随机性不低,因为UUID不区分大小写。 UUID 是 128 位数字,在字符串形式中,它们使用十六进制数字表示。 ‘A’和‘a’是同一个数字。

ITU-T X.667 and RFC 4122 等标准要求它们使用小写字母进行格式化,但也要求解析器接受大写字母。

NSUUID class 和 UUID 结构在格式化时使用大写字母。很久以前,有人要么弄错了,要么在小写字母的选择标准化之前就做出了决定。 Apple 现在不会更改它,因为这样做可能会破坏依赖于使用大写字母的现有代码。

在 Apple 平台上,the UUID formatting code, unparse.c, is written in C, and (according to the copyright) was originally written by Theodore T'so in 1996 or 1997. But the code uses upper-case letters because UUID_UNPARSE_DEFAULT_UPPER is defined in uuid-config.h