128bit以上の可変長をもつ UUID Long の提案仕様

128bit以上の値を持てる『UUID Long』という提案仕様がIETFに提出されています。(ただし、提案仕様は誰でも提出でき、それだけで標準化が進むものではない点に注意してください。)

UUID Long

UUID Longのフォーマットは次のとおりです。128bit領域は既存のUUIDと同じフォーマットであり、Variantとして0xFが入るのが特徴です。そのあとに、可変長領域 (UUID Long Data)が入ります

例としては

xxxxxxxx-xxxx-xxxx-Fxxx-xxxxxxxxxxxx-yy..zz
  • xxx: ショートUUID bit
  • F: Variant固定値
  • yy...zz: 32~3968 のUUID Long Data
Sub-Variant

UUID Long Dataに格納されるデータは、Sub-Variant, Algorithm, Length で指定されたデータを持ちます。

Sub-Variantは仕様中で定義されており、例えば、Sub-Variant 2 は時間ベースのデータが定義されています。

同様にSub-Variant 3はハッシュ値ベースのものが定義されています。

エンコーディング

UUID Longは文字列表現が長くなることから、通常の16進数表記に加えBase32やBase64でのエンコーディングに対応すると明示されています。

また、著者によって新しいエンコーディングとして下記の提案仕様が別途出されていたりもします。