Lição 4
Formatos e validação
Formatos canônico, compacto, com chaves e URN; checagens de version e variant.
O formato canônico de UUID é hex minúsculo no layout 8-4-4-4-12:
550e8400-e29b-41d4-a716-446655440000
Você também pode ver:
- UUIDs compactos sem hífens
- UUIDs em maiúsculas
- UUIDs com chaves como
{550e8400-e29b-41d4-a716-446655440000} - URNs como
urn:uuid:550e8400-e29b-41d4-a716-446655440000
Validar UUID não deve olhar só comprimento. Um validador útil normaliza o formato, confirma grupos hexadecimais, lê o dígito de version e checa os bits de variant.
Version (dígito M)
No layout canônico, o primeiro dígito do terceiro grupo indica a versão (1–8 conforme RFC). Exemplo: 4 em 41d4 sugere UUID v4 aleatório. Rejeite valores fora do que sua aplicação aceita — não basta “parecer UUID”.
Variant (bits de N)
O primeiro caractere do quarto grupo codifica o variant RFC (8, 9, a ou b em hex minúsculo para variant 1). UUIDs malformados ou de ferramentas antigas às vezes falham aqui mesmo com 32 hex válidos.
Normalização prática
Antes de comparar ou indexar:
- Remova chaves
{}ou prefixourn:uuid:se presentes. - Insira hífens na posição
8-4-4-4-12ou aceite forma compacta de 32 hex. - Compare em case consistente (minúsculas costumam ser canônicas).
Resumo
Formato é conveniência humana; os 128 bits importam. Valide version, variant e hex — não só contagem de caracteres.
Inspecione UUIDs existentes no Gerador de UUID no modo inspecionar para ver versão, variant e forma normalizada antes de persistir no banco.