Tools Blog

Що таке Base64 і коли його слід використовувати для вбудовування зображень?

Base64 Encoding Concept

Якщо ви якийсь час працювали над сучасною веб-розробкою, то, ймовірно, стикалися з нескінченним хаотичним рядом символів, які починалися з data:image/png;base64, за якими слідувала чиста тарабарщина. Це зображення в кодуванні Base64.

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

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

Це перетворення є надзвичайно корисним, оскільки багато Інтернет-протоколів (наприклад, HTTP, HTML і CSS) розроблено спеціально для безпечної обробки звичайного тексту. Перетворюючи двійкові дані в текст, ми гарантуємо, що дані можуть передаватися через ці протоколи без пошкодження.

Миттєво кодуйте свої файли

Потрібно закодувати зображення або декодувати рядок Base64 назад у текст? Використовуйте наш безкоштовний клієнтський інструмент.

Відкрийте кодувальник/декодер Base64

Коли слід вставляти зображення за допомогою Base64?

Вбудовування рядків Base64 безпосередньо у ваш HTML (`<img src="data:image...">`) або ваш CSS (`background-image: url("data:image...")`) замість використання стандартної URL-адреси може мати значні переваги, але лише в дуже конкретних випадках використання:

  • Мікропіктограми та обертові елементи: якщо у вас є невеликі елементи інтерфейсу користувача (наприклад, ручка завантаження розміром 1 КБ або галочка), кодування їх у форматі Base64 позбавляє браузер від необхідності робити окремий запит HTTP для отримання файлу зображення. Це пришвидшує рендеринг критичного інтерфейсу користувача.
  • Електронні листи HTML: багато клієнтів електронної пошти блокують завантаження зовнішніх зображень з міркувань конфіденційності. Вбудовування логотипу безпосередньо в HTML через Base64 може обійти ці блоки, забезпечуючи ідеальний вигляд вашого електронного листа.
  • Однофайлові веб-програми: якщо ви створюєте інструмент, який потрібно розповсюджувати як один файл `.html`, який працює повністю в автономному режимі, вбудовування всіх ресурсів через Base64 є єдиним способом його правильного пакетування.

Коли вам слід уникати Base64?

Найбільшим недоліком кодування Base64 є те, що воно збільшує розмір файлу ресурсу приблизно на 33%. Зображення розміром 1 МБ перетвориться на рядок тексту розміром 1,33 МБ.

Крім того, браузери не можуть самостійно кешувати рядок Base64. Якщо ви вбудовуєте масивний рядок Base64 у свій файл CSS, браузер повинен завантажувати цей масивний файл CSS під час кожного завантаження сторінки, а розбір величезних текстових рядків блокує основний потік, викликаючи серйозну затримку (поганий час інтерактивності).

Золоте правило: ніколи не кодуйте Base64 великі фотографії чи зображення героїв. Кодуйте лише крихітні піктограми SVG або мікроскопічні растрові файли, де накладні витрати HTTP-запиту є гіршими, ніж 33% штрафу за розмір файлу.