Base64 Кодер / Base64 Декодер Онлайн

0 chars
0 chars

Потрібно перетворити читабельний текст у формат Base64 для використання в HTTP-заголовках, або, навпаки, розшифрувати вміст токена API? Наш Base64 Текстовий Кодер & Декодер — це спеціалізований інструмент для роботи з текстовими рядками, який впорається навіть із такими складнощами, як діакритика чи спеціальні символи.

Працюєте із зображеннями? Якщо ваш код починається з data:image/png... або ви хочете перетворити файл на текст, цей інструмент покаже вам лише безглузді символи. Використайте наш спеціалізований інструмент для перетворення на зображення.

Як працює формат Base64?

Багато людей щодня використовують Base64, але мало хто знає, як він працює “під капотом”. Це не магія, а проста математика з бітами.

Звичайний текст у комп’ютері зберігається по 8 біт (1 байт). Проте Base64 використовує “алфавіт” із 64 символів (A-Z, a-z, 0-9, +, /). Оскільки 2^6 = 64, один символ Base64 представляє точно 6 біт інформації.

Процес перетворення (Алгоритм):

  1. Беруться три символи вашого тексту (3 × 8 біт = 24 біти).
  2. Ці 24 біти розділяються на чотири групи по 6 біт.
  3. Кожній групі присвоюється символ з таблиці Base64.

Наслідок: Оскільки ми перетворюємо 3 символи на 4 символи, отриманий рядок Base64 завжди приблизно на 33 % довший за початковий текст.

Проблема кодування: Чому звичайні Base64 конвертери псують українську мову (або інші мови з нелатинськими символами)?

Якщо ви коли-небудь намагалися закодувати слово “Кінь” (або, наприклад, “Їжак”) у консолі браузера за допомогою функції btoa('Кінь'), то, ймовірно, отримали помилку: String contains characters outside of the Latin1 range.

Base64 спочатку був розроблений для 7-бітних ASCII символів. Українська мова, емодзі та інші спеціальні символи (UTF-8), однак, займають у пам’яті більше байтів (багатобайтові символи).

  • Літера a = 1 байт.
  • Літера ї = 2 байти.
  • Emoji 🚀 = 4 байти.

Наш інструмент розв’язує цю проблему. Перед самим кодуванням у Base64 ми правильно перетворюємо текст на послідовність байтів UTF-8. Завдяки цьому ви можете безпечно кодувати JSON об’єкти, українські тексти та сучасні символи без ризику пошкодження даних.

Де використовується текстове кодування Base64?

Хоча зображення в Base64 переважно використовуються для вбудовування в CSS/HTML, текстовий Base64 має зовсім інше застосування в бекенд-системах:

1. HTTP Basic Authentication

Коли ви авторизуєтесь до API, заголовок часто виглядає так: Authorization: Basic dXppen1ldGVw:aGVzbG8= За цим кодом ховається просто об’єднане ім’я та пароль у форматі користувач:пароль. Наш інструмент дозволить вам легко генерувати або перевіряти ці заголовки.

2. JSON Web Tokens (JWT)

Сучасні веб-додатки використовують для входу так звані JWT. Такий токен виглядає як три довгі рядки, розділені крапкою. Частина з даними (Payload) — це звичайний JSON-об’єкт, закодований у Base64.

  • Порада: Спробуйте вставити сюди середню частину вашого JWT-токена та декодувати її. Ви побачите, які саме дані про вас фіксує додаток (наприклад, ID користувача, термін дії).

3. Конфігураційні файли (Kubernetes Secrets)

Платформи, такі як Kubernetes, зберігають секретні дані (Secrets) у конфігураційних YAML-файлах саме в Base64. Це не шифрування, а спосіб збереження бінарних даних або тексту з проблемними символами (нові рядки, лапки) у текстовому файлі.

Що таке “URL Safe Base64 кодування” і чому це важливо?

Стандартний алфавіт Base64 містить символи + (плюс) та / (коса риска). Обидва ці символи мають спеціальне значення в URL-адресах:

  • / розділяє каталоги.
  • + часто інтерпретується як пробіл.

Якби ви надіслали стандартний Base64 у параметрі URL (наприклад, site.com?token=ab/cd+ef), сервер міг би неправильно прочитати дані.

Рішення (URL Safe режим): Наш перемикач активує варіант Base64URL (згідно з RFC 4648), який виконує такі зміни:

  • + змінюється на - (дефіс).
  • / змінюється на _ (підкреслення).
  • Наприкінці видаляються символи = (заповнення), які не потрібні в URL.

Міф: Base64 — це не шифрування!

Важливо усвідомити принципову різницю, яку часто плутають початківці:

  1. Кодування (Encoding - Base64): Служить для передачі даних. Це як запакувати річ у валізу, щоб вона не розбилася дорогою. Будь-хто, хто знайде валізу, може її відкрити (декодувати) і побачити вміст. Це небезпечно для таємних даних.
  2. Шифрування (Encryption - AES, RSA): Замикає дані ключем. Без ключа ви не отримаєте доступ до вмісту.
  3. Хешування (Hashing - SHA, MD5): Односторонній процес (наприклад, для зберігання паролів). З результату неможливо отримати початковий текст.

Якщо вам потрібно надіслати пароль або чутливу інформацію, самого Base64 недостатньо. Ви повинні використовувати HTTPS (SSL/TLS), який зашифрує передачу.


Часті запитання (FAQ)

Що означають символи "=" в кінці рядка? Це так зване "заповнення" (padding). Оскільки Base64 кодує дані групами по 3 символи, може статися, що довжина початкового тексту не ділиться на три. Символи `=` додаються в кінці, щоб декодер знав, скільки бітів потрібно ігнорувати в кінці.
Чому декодований текст відображається як "зіпсований чай"? Ймовірно, ви намагаєтеся декодувати дані, які не є текстом. Якщо рядок Base64 представляє стиснутий файл (ZIP), зображення або зашифровані дані, перетворення на текст (UTF-8) не має сенсу. Спробуйте дізнатися походження даних.
Чи працює інструмент офлайн? Так. Вся логіка перетворення написана на JavaScript і виконується безпосередньо у вашому браузері. Як тільки сторінка завантажиться, ви можете відключитися від інтернету, і інструмент все одно працюватиме. Ваші дані нікуди не надсилаються.