GUID
表示
GUID (Globally Unique Identifier)は、ソフトウェアで使用される擬似乱数で、世界で一意な識別子として使用される128ビットの2進数値である。ただし、絶対に一意であることを保証するものではなく、生成される識別子の数が(2128 つまり 3.40282366×1038) と非常に大きいため、同じ識別子が生成される確率がきわめて小さいということである。グーイッド』と発音する
GUIDという用語は一般に、UUID(Universally Unique IDentifier)のマイクロソフト社での実装を指して言うが、オラクル社のデータベースやノベルのeDirectory(ディレクトリ・サービス)をはじめとする多くのソフトウェアでGUIDという用語が使用されている。
構造
GUID は16バイト(128ビット)の2進数値で、以下のような構造体で表現される。
GUID STRUCT Data1 dd Data2 dw Data3 dw Data4 db 8 GUID ENDS
guiddef.h におけるGUIDの定義は以下のとおり。
typedef struct _GUID { unsigned long Data1; unsigned short Data2; unsigned short Data3; unsigned char Data4[8]; } GUID;
テキスト表記
GUIDは一般に以下のような16進表記が行われている。
- 3F2504E0-4F89-11D3-9A0C-0305E82C3301
このテキスト表記は以下のような32桁の構造を持つ。
- Data1 (8桁)
- ハイフン
- Data2 (4桁)
- ハイフン
- Data3 (4桁)
- ハイフン
- Data4 の最初の2アイテム(4桁)
- ハイフン
- Data4 の残りの6アイテム(12桁)
括弧で囲んで表記することも多い。
- {3F2504E0-4F89-11D3-9A0C-0305E82C3301}