書式変換 とは
このツールは1 行に 1 つの UUID を読み取り、32 桁の 16 進数に正規化してから選んだ形式で出力します。UUID でない行はスキップされ、別途件数が表示されます。
出力形式は 9 種類です。小文字、大文字、ハイフンなし、大文字かつハイフンなし、.NET 形式の波括弧、丸括弧、22 文字の Base64url、C# のバイト配列、そして ::uuid を付けた SQL リテラルです。
使い方
- UUID を 1 行に 1 つずつ貼り付けます。
- 出力形式を選びます。
- 変換を押して結果をコピーします。
用途
- データベースの列から取り出した値をコードで使う形にする。
- URL に入れる前にハイフンを取り除く。
- ソースコードに貼る SQL リテラルや C# のバイト配列を作る。
- 容量が問題になるときに Base64url で識別子を短くする。
書式変換 の位置づけ
| 選択肢 | 使う場面 |
|---|---|
formatter | 同じ値の表記どうしを変換します |
validator | 変換の前に妥当性を確認できます |
regex | 自前の検証パターンを組み立てたいときに |
UUID の各バージョン早見表
| バージョン | 並べ替え可能 | 基になる情報 | 向いている用途 |
|---|---|---|---|
| v1 | 不可 | タイムスタンプ + MAC アドレス | v1 に依存したままの既存システム |
| v3 | 不可 | 名前の MD5 ハッシュ | MD5 を使わざるを得ない場面の決定的な識別子 |
| v4 | 不可 | 122 ビットの乱数 | 一般的な識別子のほとんど |
| v5 | 不可 | 名前の SHA-1 ハッシュ | 同じ名前から常に同じ識別子を得たいとき |
| v6 | 可 | 並べ替えたタイムスタンプ | 乱数性を保ったまま並べ替えたいとき |
| v7 | 可 | ミリ秒精度の Unix 時刻 | データベースの主キーやイベント識別子 |
| v8 | 不可 | 独自のビット配置 | 独自形式や実験的な用途 |
7 つのバージョンはいずれも 128 ビットで、同じ 8-4-4-4-12 の形式で表記します。違うのはビットの意味だけです。
よくある質問
ハイフンを取ると一意性は失われますか?
失われません。ハイフンは読みやすさのためのもので、外しても 32 桁の 16 進数に 128 ビットがそのまま残ります。多くのシステムがこの形で UUID を保存しています。
Base64url は別の UUID ですか?
いいえ、同じ 16 バイトを 36 文字ではなく 22 文字で表しただけです。短くなるので URL やキャッシュキーに向いています。
変換で元の値は変わりますか?
変わりません。どの出力形式も同じビット列を表しているので、失うものなく相互に変換できます。