代码之家  ›  专栏  ›  技术社区  ›  b_erb

CouchDB中的UUID

  •  11
  • b_erb  · 技术社区  · 14 年前

    我想知道uuid默认的格式是用couchdb表示的。而RFC 4122描述的UUID如下 550e8400-e29b-11d4-a716-446655440000 ,couchdb使用连续字符,例如 3069197232055d39bc5bc39348a36417 . 我在他们的wiki和文档中搜索了一段时间,但没有任何结果。

    你知道这是不是一个不符合RFC格式省略了所有 - 或者这是128位的完全不同的表示。

    背景是我使用的Java UUID是RFC中所指出的格式。我看到了couchdb风格对于构建内部树可能更方便的优点,但是我希望确保使用一致的实现。

    1 回复  |  直到 14 年前
        1
  •  12
  •   Paul J. Davis    14 年前

    从技术上讲,我们没有像您注意到的那样使用UUID的RFC标准。版本4 UUID保留类似4位的内容来指定UUID的版本。我们也不使用其他实现中常见的连字符来格式化它们。

    couchdb uuids是16个随机字节,格式为十六进制。大致来说,这是一个v4 UUID,但不符合RFC。

    不管具体情况如何,实际上并没有什么问题。一般来说,除非您尝试进行某种带外分析,否则不应该尝试解释UUID。CouchDB永远不会解释UUID,我们只依赖其中所涉及的随机性属性。

    归根结底就是不用担心,一代又一代地把它们当作字符串。