raatools/

Base64-кодувальник / декодувальник

Кодуйте текст у Base64 або декодуйте миттєво.

Or encode a file:

Що таке кодування Base64?

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

Кодування працює шляхом взяття кожних 3 байтів (24 біти) вхідних даних та розбивки їх на 4 групи по 6 біт кожна. Кожна 6-бітна група відображається на один із 64 символів. Це означає, що дані, кодовані Base64, приблизно на 33% більші за оригінальні бінарні дані. Незважаючи на збільшення розміру, кодування є незамінним для вбудовування бінарних даних у текстові контексти.

Як користуватися цим інструментом

Для кодування: вставте текст або завантажте файл. Інструмент генерує рядок, кодований Base64. Для декодування: вставте рядок Base64, і інструмент розкриє оригінальний вміст. Інструмент обробляє кодування/декодування як тексту, так і бінарних файлів. Результати можна скопіювати в буфер обміну або завантажити.

Поширені застосування Base64

  • URI даних — вбудовування малих зображень безпосередньо в HTML або CSS (data:image/png;base64,...).
  • Вкладення email — MIME-кодування використовує Base64 для вкладення файлів до листів.
  • Комунікація API — надсилання бінарних даних у тілах JSON запиту/відповіді.
  • Базова HTTP-автентифікація — облікові дані кодуються Base64 (не шифруються) у заголовку Authorization.

Base64 — не шифрування

Base64 — схема кодування, а не шифрування. Воно забезпечує нульову безпеку — будь-хто може миттєво декодувати дані Base64. Воно призначене для транспортування даних, а не для конфіденційності. Ніколи не використовуйте Base64 окремо для захисту чутливої інформації. HTTP Basic Authentication надсилає облікові дані, кодовані Base64, тому HTTPS є обов'язковим — шифрування забезпечується TLS, а не Base64.

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

Чому Base64 збільшує розмір файлу на 33%?

Base64 використовує 4 символи для представлення кожних 3 байтів даних (4/3 = 1,33, або 33% накладних витрат). Це пов'язано з тим, що кожен символ Base64 кодує лише 6 біт, тоді як кожен байт — 8 біт. Три байти (24 біти) потребують рівно чотири символи Base64 (4 × 6 = 24 біти). Символ заповнення (=) в кінці обробляє випадки, коли довжина вхідних даних не кратна 3.

Чи варто використовувати URI даних Base64 для зображень на моєму сайті?

Лише для дуже малих зображень (до 2–3 КБ, наприклад іконок). URI даних Base64 усувають окремий HTTP-запит, але збільшують розмір файлу HTML/CSS на 33% і не можуть кешуватися незалежно. Для більшості зображень окремий файл із правильними заголовками кешування є ефективнішим. Сучасний HTTP/2 зменшує накладні витрати кількох запитів, роблячи URI даних ще менш необхідними.