Co to jest Short UUID?
Short UUID to technika kompresji standardowych 128-bitowych UUID do krótszych, przyjaznych dla URL ciągów. Zazwyczaj obejmuje:
- Konwersja podstawy: Konwersję UUID z podstawy 16 (szesnastkowej) do wyższej podstawy (zwykle base-58 lub base-62)
- Wybór zestawu znaków: Użycie zestawów znaków bezpiecznych dla URL, bez znaków dwuznacznych
- Kompresja bezstratna: Zachowanie wszystkich informacji z oryginalnego UUID
Przykład transformacji:
- Standardowy UUID:
f47ac10b-58cc-4372-a567-0e02b2c3d479
- Short UUID (base-58):
2kLrTdCQVWFjc7dYXzzB5A
Jak działa Short UUID
- Usuń myślniki ze standardowego UUID
- Konwersja powstałego 32-znakowego ciągu szesnastkowego na liczbę dziesiętną
- Konwersja liczby dziesiętnej do wyższej podstawy (58, 62, 64 itd.)
- Dopełnij wynik, jeśli to konieczne, aby zapewnić spójną długość
Typowe alfabety kodowania obejmują:
- Base-58: Alfanumeryczne bez znaków dwuznacznych (0, O, I, l)
- Base-62: Wszystkie znaki alfanumeryczne (a-z, A-Z, 0-9)
- Base-64: Alfanumeryczne plus dwa znaki specjalne (często + i /)
Zalety i uwagi
Advantages | Considerations |
---|---|
|
|
Porównanie długości
Format | Length | Zestaw znaków | Example |
---|---|---|---|
Standardowy UUID | 36 znaków | Szesnastkowy + myślniki | f47ac10b-58cc-4372-a567-0e02b2c3d479 |
Szesnastkowy (bez myślników) | 32 znaki | 0-9, a-f | f47ac10b58cc4372a5670e02b2c3d479 |
Base-58 | 22 znaki | Bez 0, O, I, l | 2kLrTdCQVWFjc7dYXzzB5A |
Base-62 | ~22 znaki | Alphanumeric | 3pqLYdcw9TGKxNVgeO0gOd |
Base-64 | ~22 znaki | Alfanumeryczne + symbole | 9HrBC1jMQ3KlZw4CssPUeQ== |
Typowy alfabet Base-58
Alfabet Base-58 został zaprojektowany tak, aby był wizualnie jednoznaczny zarówno w czcionkach o stałej szerokości, jak i proporcjonalnych:
Zestaw znaków | Content |
---|---|
Numbers | 1-9 (z wyłączeniem 0) |
Wielkie litery | A-Z (z wyłączeniem I, O) |
Małe litery | a-z (z wyłączeniem l) |
Znaki: 123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz
Typowe zastosowania
- Skracanie URL: Bardziej kompaktowe parametry URL
- Identyfikatory publiczne: Identyfikatory użytkowników lub treści
- Optymalizacja kodów QR: Mniej znaków = prostsze kody
- Aplikacje mobilne: Mniejsza transmisja danych
- Projektowanie API: Czystsze, bardziej kompaktowe identyfikatory zasobów
- Udostępnianie społecznościowe: Bardziej przyjazne linki
Najczęściej zadawane pytania
Czy Short UUID są tak unikalne jak standardowe UUID?
Tak. Short UUID to po prostu inna reprezentacja tej samej 128-bitowej wartości. Konwersja jest bezstratna, zachowując wszystkie właściwości unikalności standardowych UUID.
Czy mogę konwertować między standardowym a Short UUID?
Tak. Konwersja jest dwukierunkowa - możesz zakodować standardowy UUID do Short UUID i zdekodować go z powrotem do dokładnie tego samego standardowego UUID.
Które kodowanie podstawy jest najbardziej zalecane?
Base-58 jest często preferowane, ponieważ unika znaków dwuznacznych (0/O i l/I), pozostając jednocześnie bezpieczne dla URL bez konieczności kodowania URL.
O ile krótsze są Short UUID?
Standardowe UUID mają 36 znaków (z myślnikami). Short UUID zazwyczaj mają 22 znaki przy użyciu kodowania base-58/62/64, co stanowi redukcję około 40%.
Czy powinienem przechowywać Short UUID w mojej bazie danych?
Zaleca się przechowywanie standardowego formatu UUID w bazach danych i konwersję do Short UUID tylko podczas wyświetlania użytkownikom lub w URL. Zapewnia to lepszą kompatybilność z typami UUID w bazie danych.