Ano ang Short UUID?
Short UUID ay isang teknik upang i-compress ang standard 128-bit UUIDs sa mas maiikling, URL-friendly na mga string. Kadalasang kasama dito ang:
- Base conversion: Pag-convert ng UUID mula base-16 (hex) patungo sa mas mataas na base (karaniwang base-58 o base-62)
- Pagpili ng character set: Paggamit ng URL-safe na character sets na walang mga ambiguous na karakter
- Lossless compression: Pagpapanatili ng lahat ng impormasyon mula sa orihinal na UUID
Halimbawa ng transformasyon:
- Standard UUID:
f47ac10b-58cc-4372-a567-0e02b2c3d479
- Short UUID (base-58):
2kLrTdCQVWFjc7dYXzzB5A
Paano gumagana ang Short UUID
- Alisin ang mga hyphen mula sa standard UUID
- I-convert ang resulting 32-character hex string sa decimal number
- I-convert ang decimal number sa mas mataas na base (58, 62, 64, atbp.)
- I-pad ang resulta kung kinakailangan upang matiyak ang consistent na haba
Karaniwang encoding alphabets ay kinabibilangan ng:
- Base-58: Alphanumeric na walang mga ambiguous na karakter (0, O, I, l)
- Base-62: Lahat ng alphanumeric na karakter (a-z, A-Z, 0-9)
- Base-64: Alphanumeric kasama ang dalawang special na karakter (madalas + at /)
Mga Bentahe at Mga Pagsasaalang-alang
Advantages | Considerations |
---|---|
|
|
Paghahambing ng haba
Format | Length | Set ng Character | Example |
---|---|---|---|
Standard UUID | 36 chars | Hex + hyphens | f47ac10b-58cc-4372-a567-0e02b2c3d479 |
Hex (walang hyphens) | 32 chars | 0-9, a-f | f47ac10b58cc4372a5670e02b2c3d479 |
Base-58 | 22 chars | Walang 0, O, I, l | 2kLrTdCQVWFjc7dYXzzB5A |
Base-62 | ~22 chars | Alphanumeric | 3pqLYdcw9TGKxNVgeO0gOd |
Base-64 | ~22 chars | Alphanumeric + mga simbolo | 9HrBC1jMQ3KlZw4CssPUeQ== |
Karaniwang Base-58 Alphabet
Ang Base-58 alphabet ay dinisenyo upang maging visually unambiguous kapag ipinapakita sa parehong fixed-width at proportional fonts:
Character set | Content |
---|---|
Numbers | 1-9 (hindi kasama ang 0) |
Uppercase letters | A-Z (hindi kasama ang I, O) |
Lowercase letters | a-z (hindi kasama ang l) |
Mga karakter: 123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz
Karaniwang Mga Gamit
- Pagpapaikli ng URL: Mas compact na mga parameter ng URL
- Mga pampublikong ID: Mga identifier ng user o nilalaman
- Pag-optimize ng QR code: Mas kaunting mga karakter = mas simpleng mga code
- Mga mobile application: Mas kaunting data na ipinapadala
- Disenyo ng API: Mas malinis, mas compact na mga identifier ng resource
- Pagbabahagi sa social media: Mas user-friendly na mga link
Mga Madalas Itanong
Ang mga Short UUID ba ay kasing unique ng standard UUIDs?
Oo. Ang mga Short UUID ay ibang representasyon lamang ng parehong 128-bit na halaga. Ang conversion ay lossless, pinapanatili ang lahat ng uniqueness properties ng standard UUIDs.
Maaari ko bang i-convert ang pagitan ng standard at Short UUID formats?
Oo. Ang conversion ay bidirectional - maaari mong i-encode ang standard UUID sa Short UUID at i-decode ito pabalik sa eksaktong parehong standard UUID.
Aling base encoding ang pinaka-inirerekomenda?
Mas madalas piliin ang Base-58 dahil iniiwasan nito ang mga ambiguous na karakter (0/O at l/I) habang nananatiling URL-safe nang hindi nangangailangan ng URL encoding.
Gaano ba kaikli ang mga Short UUID?
Ang mga standard UUID ay may 36 na karakter (kasama ang mga hyphen). Ang mga Short UUID ay karaniwang may 22 karakter kapag gumagamit ng base-58/62/64 encoding, isang pagbawas ng mga 40%.
Dapat ko bang i-imbak ang mga Short UUID sa aking database?
Karaniwang inirerekomenda na i-imbak ang standard UUID format sa mga database at i-convert lamang sa Short UUID kapag ipinapakita sa mga user o sa mga URL. Nagbibigay ito ng mas mahusay na compatibility sa mga database UUID types.