encode | decode | алфанумерика

> base36 | 0-9,A-Z | компактно <

// Base36 — компактное алфанумерическое кодирование с использованием цифр 0-9 и букв A-Z

0 символов
0 символов
[АЛФАНУМЕРИКА]

Только алфанумерические символы

Использует только цифры 0-9 и буквы A-Z — совместимо с большинством баз данных и текстовых форматов.

[КОМПАКТНО]

Компактное представление

Более компактно, чем десятичная запись больших чисел, при этом строки остаются читаемыми и удобными для обмена.

[URL-SAFE]

Подходит для URL

Без спецсимволов: отлично подходит для коротких ссылок, публичных идентификаторов, продуктовых кодов и лицензионных ключей.

>> техническая информация

Как работает Base36:

Base36 — это позиционная система счисления по основанию 36, использующая 36 символов (0-9 и A-Z). Каждая позиция соответствует степени 36, что позволяет представлять большие числа в виде коротких алфанумерических строк.

Примеры Base36:

Числа → Base36:
123 → 3F
1000 → RS
999999 → LFLR

Текст → Base36 (через байты):
Hi → 1Q5
ABC → 3O0AF

Типичные применения:
- ID видео/ресурсов
- Короткие URL
- Сессионные токены
- Продуктовые коды
- Лицензионные ключи

Зачем использовать Base36:

  • ▸Генерация коротких, удобочитаемых идентификаторов из больших чисел
  • ▸Создание безопасных для URL токенов без спецсимволов
  • ▸Сжатие числовых значений в компактные алфанумерические строки
  • ▸Как правило, нечувствителен к регистру — устойчив к изменениям верхнего/нижнего регистра
  • ▸Более дружественная человеку альтернатива чисто шестнадцатеричным представлениям

>> часто задаваемые вопросы

Что такое Base36?

Base36 — это позиционная система счисления, использующая 36 различных символов: цифры 0-9 и буквы A-Z. Она предоставляет компактный способ представления чисел с помощью только алфанумерических символов.

Где обычно используется Base36?

Base36 широко применяется для создания коротких идентификаторов, таких как короткие URL, публичные ID, коды продуктов и сессионные токены, где важны компактность и читаемость.

Чувствителен ли Base36 к регистру?

В большинстве реализаций Base36 не различает верхний и нижний регистр: A-Z и a-z обрабатываются одинаково. Это снижает количество ошибок, связанных с изменением регистра.

Как Base36 сравнивается с другими схемами кодирования?

Base36 компактнее десятичной записи (base10), но менее компактен, чем шестнадцатеричная (base16) или Base64. Он обеспечивает баланс между компактностью и читаемостью, используя только алфанумерические символы.

// Краткий справочник

DECHEXBase36Base62
0000
3523zz
362410A
100642s1c
10003e8rsG8
12345678975bcd1521i3v98M0kX
4294967295ffffffff1z141z34gfFC3

// Примеры кода

JavaScript  (123).toString(36)   // "3f"      parseInt("3f", 36)  // 123
Python      int("3f", 36)  // 123       (no built-in int -> base36; write a loop)
Java        Integer.toString(123, 36)   Long.parseLong("3f", 36)
PHP         base_convert("123", 10, 36)
Go          strconv.FormatInt(123, 36)   strconv.ParseInt("3f", 36, 64)

>> Другие вопросы

В: Как записать Base36 в JavaScript, Python или Java?

О: В JavaScript, Java, PHP и Go это встроено: (123).toString(36) даёт "3f", а parseInt("3f", 36) возвращает 123. В Python int(s, 36) декодирует; для кодирования напишите небольшой цикл.

В: Какое наибольшее целое можно закодировать в Base36?

О: Теоретического максимума нет: Base36 — просто позиционная запись. На практике ограничивает целочисленный тип: в JavaScript Number.MAX_SAFE_INTEGER (2⁵³−1) равно 2gosa7pa2gv; для больших значений используйте BigInt.

В: Почему ID YouTube и короткие ссылки похожи на Base36/Base62?

О: Короткие ID обычно получают, переводя большое целое (ID в базе или хеш) в систему с большим основанием. Base36 не различает регистр; Base62 ещё короче, но регистр различает.

Другие языки

СКОПИРОВАНО!