UUIDは128ビットの識別子でAAAAAAAA-BBBB-CCCC-DDDD-EEEEEEEEEEEE の形式で16進数表記されます。

バージョン

CCCCの16ビットの上位4ビットはUUIDのバージョンを表す。

バリアント

DDDDの上位1~4ビットはUUIDのバリアントを表す。

UUIDのバリアントは、UUIDの形式やバージョンを指定するためのフィールドであり、以下のように定義されています:

  1. Variant 0: NCS backward compatibility
  2. Variant 1: RFC 4122 (Leach-Salz)
  3. Variant 2: Microsoft GUIDs
  4. Variant 3: Reserved for future definition

これらのバリアントによって、UUIDの形式や構造が異なることが保証されます。通常、UUIDのバリアントフィールドはUUID全体の正しい解釈を導くために使用されます。

有効ビット数

バージョンとリビジョンのためのビットを除外したビット数を数えてみる。

AAAAAAAA(32ビット):全てのビットが有効です。

  1. BBBB(16ビット):上位4ビットがバージョン情報に使用され、残りの12ビットが有効です。
  2. CCCC(16ビット):上位2ビットがバリアント情報に使用され、残りの14ビットが有効です。
  3. DDDD(16ビット):全てのビットが有効です。
  4. EEEEEEEEEEEE(48ビット):全てのビットが有効です。