Кодування

Base32

Кодування та декодування Base32 (RFC 4648) — текст і файли, прямо в браузері.

Base32, як і Base64, кодує двійкові дані в текст, але використовує алфавіт лише з 32 символів (A-Z2-7) — без символів, які легко сплутати при ручному введенні (0/O, 1/I). Тому Base32 частіше зустрічається там, де рядок можуть вводити люди, а не лише копіювати.

Як користуватися

Типові сценарії

Що варто памʼятати

Base32 приблизно на 60% збільшує розмір даних (проти ~33% у Base64) — це компроміс заради ширшої сумісності з реєстронезалежними системами й ручним уведенням.

Base32hex — окремий варіант того самого стандарту з іншим алфавітом (0-9A-V), що зберігає порядок сортування, — несумісний зі звичайним Base32.

Стаття про цей інструмент: Base32: чим відрізняється від Base64 і коли зручніший

Часті запитання

Чим Base32 відрізняється від Base64?

Base32 використовує лише 32 символи (A-Z та 2-7), тоді як Base64 — 64. Через менший алфавіт Base32-рядок довший (приблизно на 60% більший за оригінал), зате він регістронезалежний і без символів, які можуть спантеличити людину чи конфліктувати з іменами файлів.

Чи безпечно вставляти конфіденційні дані в цей інструмент?

Так — кодування й декодування виконуються повністю у вашому браузері за допомогою JavaScript. Дані ніколи не надсилаються на сервер.

Де на практиці застосовують Base32?

Base32 (RFC 4648) часто використовують там, де важлива читабельність і стійкість до помилок: у TOTP-секретах для двофакторної автентифікації, іменах файлів, доменних мітках і кодах, які людина може вручну ввести чи продиктувати.

Чому в алфавіті Base32 немає цифр 0 і 1?

Ці цифри легко переплутати з літерами O та I/l при читанні чи ручному введенні, тому стандарт RFC 4648 навмисно виключив їх з алфавіту, залишивши лише однозначні символи.

Чим Base32 відрізняється від Base32hex?

Base32hex (той самий RFC 4648) використовує алфавіт 0-9A-V замість A-Z2-7 і зберігає порядок сортування рядків таким самим, як у вихідних байтів. Обидва варіанти несумісні між собою.

Статті: Кодування

Base64: навіщо потрібне кодування і як воно працює

Як Base64 перетворює бінарні дані на текст ASCII і де це реально потрібно.

URL Encode/Decode: percent-encoding у посиланнях

Як спецсимволи в адресних рядках і query-параметрах перетворюються на %XX-послідовності.

HTML Entities: як безпечно виводити спецсимволи на сторінці

Чому символи < > & потрібно екранувати і як це запобігає поламаній розмітці.

JWT: структура токена та що означає "декодувати" JWT

Header, payload і signature JWT-токена та чому декодування — це не те саме, що перевірка підпису.

Unicode Escape: що означають послідовності \uXXXX

Звідки в JSON і JS-рядках беруться послідовності виду \u0041 і що вони означають.

ROT13 і шифр Цезаря: проста заміна символів

Чому зсув на 13 літер робить ROT13 симетричним і навіщо його взагалі використовують сьогодні.

Punycode: як домени з кирилицею працюють у DNS

Як домен на кшталт «приклад.укр» перетворюється на ASCII-запис із префіксом xn--.

Азбука Морзе: як текст перетворюється на крапки й тире

Принцип кодування літер крапками й тире та де азбука Морзе застосовується зараз.

Data URI: коли вбудовувати зображення прямо в код

Як data:-URI вбудовує вміст файлу прямо в HTML чи CSS і коли це виправдано.

Gzip + Base64: стиснення даних для передачі текстом

Навіщо стиснені бінарні дані ще й кодують у Base64 перед тим, як покласти в текстове поле.

XML Entities: екранування символів у XML-документах

П’ять обов’язкових XML-entity, без яких документ ламається при парсингу.