Що таке Short UUID?
Short UUID — це техніка стиснення стандартних 128-бітних UUID у коротші, URL-дружні рядки. Зазвичай це включає:
- Конвертація системи числення: Перетворення UUID з основи-16 (шістнадцяткової) на вищу основу (зазвичай основа-58 або основа-62)
- Вибір набору символів: Використання URL-безпечних наборів символів без неоднозначних символів
- Стиснення без втрат: Збереження всієї інформації з оригінального UUID
Приклад перетворення:
- Стандартний UUID:
d4e5f6a7-b8c9-4012-d456-789abcdef012
- Short UUID (основа-58):
8Te9VZEguxQNzMgPD1g7fa
Як працює Short UUID
- Видалення дефісів зі стандартного UUID
- Перетворення отриманого 32-символьного шістнадцяткового рядка на десяткове число
- Перетворення десяткового числа на вищу основу (58, 62, 64 тощо)
- Заповнення результату за необхідності для забезпечення постійної довжини
Поширені алфавіти кодування включають:
- Основа-58: Алфавітно-цифрові без неоднозначних символів (0, O, I, l)
- Основа-62: Всі алфавітно-цифрові символи (a-z, A-Z, 0-9)
- Основа-64: Алфавітно-цифрові плюс два спеціальні символи (часто + та /)
Переваги та міркування
Переваги | Міркування |
---|---|
|
|
Порівняння довжини
Формат | Довжина | Набір символів | Приклад |
---|---|---|---|
Стандартний UUID | 36 символів | Шістнадцяткові + дефіси | d4e5f6a7-b8c9-4012-d456-789abcdef012 |
Шістнадцяткові (без дефісів) | 32 символи | 0-9, a-f | d4e5f6a7b8c94012d456789abcdef012 |
Основа-58 | 22 символи | Без 0, O, I, l | 8Te9VZEguxQNzMgPD1g7fa |
Основа-62 | ~22 символи | Алфавітно-цифрові | 7uNg0WjDp2YiUsQ0H16Fdb |
Основа-64 | ~22 символи | Алфавітно-цифрові + символи | 1OX2p7jJQBLUVnibvN8BEg== |
Поширений алфавіт Основи-58
Алфавіт Основи-58 розроблено так, щоб бути візуально однозначним при відображенні як у шрифтах фіксованої ширини, так і у пропорційних шрифтах:
Набір символів | Вміст |
---|---|
Цифри | 1-9 (без 0) |
Великі літери | A-Z (без I, O) |
Малі літери | a-z (без l) |
Символи: 123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz
Поширені випадки використання
- Скорочення URL: Компактніші параметри URL
- Публічні ідентифікатори: Ідентифікатори користувачів або контенту
- Оптимізація QR-кодів: Менше символів = простіші коди
- Мобільні додатки: Менша передача даних
- Дизайн API: Чистіші, компактніші ідентифікатори ресурсів
- Соціальне поширення: Зручніші посилання
Часті запитання
Чи є Short UUID такими ж унікальними, як стандартні UUID?
Так. Short UUID — це просто інше представлення того самого 128-бітного значення. Конвертація відбувається без втрат, зберігаючи всі властивості унікальності стандартних UUID.
Чи можу я конвертувати між форматами стандартного та Short UUID?
Так. Конвертація є двосторонньою — ви можете закодувати стандартний UUID в Short UUID і розкодувати його назад до точно такого ж стандартного UUID.
Яке кодування основи найбільш рекомендоване?
Основа-58 часто є кращим вибором, оскільки вона уникає неоднозначних символів (0/O і l/I), залишаючись при цьому безпечною для URL без потреби в URL-кодуванні.
Наскільки коротші Short UUID?
Стандартні UUID мають 36 символів (з дефісами). Short UUID зазвичай мають 22 символи при використанні кодування основа-58/62/64, скорочення приблизно на 40%.
Чи слід зберігати Short UUID у моїй базі даних?
Зазвичай рекомендується зберігати формат стандартного UUID у базах даних і конвертувати в Short UUID лише при відображенні користувачам або в URL. Це забезпечує кращу сумісність з типами UUID баз даних.