Генератор коротких UUID

Генеруйте компактні 22-символьні UUID, закодовані в Base58, для URL-дружнього використання

Спробуйте ці приклади:

Що таке 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

  1. Видалення дефісів зі стандартного UUID
  2. Перетворення отриманого 32-символьного шістнадцяткового рядка на десяткове число
  3. Перетворення десяткового числа на вищу основу (58, 62, 64 тощо)
  4. Заповнення результату за необхідності для забезпечення постійної довжини

Поширені алфавіти кодування включають:

  • Основа-58: Алфавітно-цифрові без неоднозначних символів (0, O, I, l)
  • Основа-62: Всі алфавітно-цифрові символи (a-z, A-Z, 0-9)
  • Основа-64: Алфавітно-цифрові плюс два спеціальні символи (часто + та /)

Переваги та міркування

ПеревагиМіркування
  • URL-дружній формат
  • Економія символів (40-50%)
  • Покращений користувацький досвід
  • Повна двостороння конвертація
  • Накладні витрати на конвертацію основи
  • Складність реалізації
  • Міркування щодо зберігання у базі даних
  • Нестандартний формат

Порівняння довжини

ФорматДовжинаНабір символівПриклад
Стандартний UUID36 символівШістнадцяткові + дефісиd4e5f6a7-b8c9-4012-d456-789abcdef012
Шістнадцяткові (без дефісів)32 символи0-9, a-fd4e5f6a7b8c94012d456789abcdef012
Основа-5822 символиБез 0, O, I, l8Te9VZEguxQNzMgPD1g7fa
Основа-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 баз даних.

Ресурси