Кодування

Base64

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

Base64 — це кодування двійкових даних у текст за допомогою 64 друкованих ASCII-символів (A–Z, a–z, 0–9, а також + і /). Воно потрібне, щоб довільні байти — зображення, архіви, криптографічні ключі — могли без змін проходити через канали, розраховані лише на текст.

Інструмент кодує й декодує як текст, так і файли. Уся обробка відбувається у вашому браузері: дані не залишають комп’ютер, тому інструмент безпечний для токенів, приватних ключів та інших конфіденційних даних.

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

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

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

Base64 — це не шифрування: рядок може декодувати будь-хто. Змінюється лише представлення даних, а не їхня конфіденційність.

Результат приблизно на 33% більший за вхідні дані, бо кожні 3 байти перетворюються на 4 символи.

Для URL та імен файлів використовують Base64URL: там + і / замінені на - та _, а padding = часто відкидають.

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

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

Що таке Base64 і навіщо він потрібен?

Base64 — це спосіб представити довільні бінарні дані у вигляді тексту з 64 символів (A-Z, a-z, 0-9, + та /). Його використовують там, де можна передавати лише текст: у JSON, email-вкладеннях, data URI зображеннях, заголовках HTTP.

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

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

Чому розмір Base64-рядка більший за оригінальний файл?

Base64 кодує кожні 3 байти вхідних даних у 4 символи, тому результат приблизно на 33% більший за вихідний розмір.

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

У Base64URL символи + та / замінені на - та _, щоб рядок можна було безпечно вставити в URL чи ім’я файлу без додаткового percent-encoding. Саме такий варіант використовує JWT.

Що означає символ = у кінці рядка?

Це заповнювач (padding), який показує, скільки байтів бракує в останньому 3-байтовому блоці. Він не завжди обов’язковий — деякі системи його свідомо відкидають.

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

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

Регістронезалежний алфавіт Base32 і сценарії, де він зручніший за Base64.

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, без яких документ ламається при парсингу.