Pour ceux comme moi qui commencer à googler avant de lire la javadoc, ici la javadoc ;)
UUID.toString
Pour ceux qui Ne savent pas lire une grammaire d'arbre de lire du Bas vers le Haut.
un hexDigit est un char
un hexOctet est de 2 hexDigits = 2chars
un nœud est de 6 * hexOctet = 6 * 2hexdigit = 6*2 caractères = 12chars
une variante_and_sequence est de 2 * hexOctet = 2 * 2hexdigit = 2*2 caractères = 4chars
un time_high_and_version est de 2 * hexOctet = 2 * 2hexdigit = 2*2 caractères = 4chars
un time_mid est de 2 * hexOctet = 2 * 2hexdigit = 2*2 caractères = 4chars
un time_low est 4 * hexOctet = 4* 2hexdigit = 4*2 caractères = 8chars
et finalement, un UUID est < time_low > "-" < time_mid > "-" < time_high_and_version > "-" < variant_and_sequence > "-"< node >
= 8 caractères + 1 char + 4 caractères + 1 char + 4 caractères + 1 char + 4 caractères + 1 char + 12 caractères
= 36 chars ! 128 bits de données + 4 trait d'union comme indiqué précédemment
The UUID string representation is as described by this BNF:
UUID = <time_low> "-" <time_mid> "-"
<time_high_and_version> "-"
<variant_and_sequence> "-"
<node>
time_low = 4*<hexOctet>
time_mid = 2*<hexOctet>
time_high_and_version = 2*<hexOctet>
variant_and_sequence = 2*<hexOctet>
node = 6*<hexOctet>
hexOctet = <hexDigit><hexDigit>
hexDigit =
"0" | "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9"
| "a" | "b" | "c" | "d" | "e" | "f"
| "A" | "B" | "C" | "D" | "E" | "F"