Файли та сторінки

Конвертер файлів у Base64

Працює локально

Сам інструмент доступний англійською мовою; на цій сторінці наведено пояснення вашою мовою.

Використовуйте Конвертер файлів у Base64

Як це працює

Перетягніть або виберіть файл, щоб отримати його як Base64 data URI, або вставте data URI, щоб декодувати його назад у файл для завантаження.

Програма працює повністю у вашому браузері: жодні введені вами дані не завантажуються.

Як користуватися Конвертер файлів у Base64

  1. Виберіть або перетягніть файл. Клацніть пунктирне поле, щоб вибрати файл, або перетягніть файл на нього. Якщо перетягнути кілька файлів, конвертується лише перший.
  2. Прочитайте data URI. Поле нижче заповнюється рядком data:тип;base64, за яким іде закодований файл. Рядок під ним показує початковий розмір, розмір Base64 і надлишок.
  3. Скопіюйте результат. Натисніть Copy (копіювати), щоб скопіювати весь data URI в буфер обміну, наприклад для вставлення в тестову сторінку чи нотатку до справи.
  4. Вставте data URI для декодування. Щоб зробити навпаки, вставте URI даних у нижнє поле, наприклад data:image/png;base64,... Допускаються такі параметри, як ;charset=utf-8, розриви рядків, URI даних у кодуванні Base64, безпечному для URL-адрес, та у відсотковому кодуванні.
  5. Завантажте й перевірте файл. Натисніть Decode & Download (декодувати й завантажити), щоб зберегти файл. Якщо він походить із підозрілого листа чи сторінки, перевірте його в File Type Sniffer і File Hash, перш ніж відкривати.

Приклад

Невелике зображення

Вхідні дані
A small PNG file, dropped onto the box or chosen by clicking it
Як виглядає результат
data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mNk+M9QDwADhgGAWjR9awAAAABJRU5ErkJggg==

Original: 70 bytes | Base64: 96 bytes (37% overhead) | Data URI: 118 bytes

У полі нижче відображаються дані: image/png;base64,..., а в рядку вказано початковий розмір, розмір у кодуванні Base64 з урахуванням накладних витрат та довжину всього URI даних: розмір у кодуванні Base64 приблизно на третину перевищує розмір файлу.

Що перевіряється

СигналЩо це означає
MIME-тип після data:Це тип, який браузер повідомляє для файлу; зазвичай він визначається за розширенням у назві файлу. Він не доводить, що насправді міститься у файлі, тож перейменований файл зберігає оманливий тип.
Початковий розмірРозмір файлу в КБ з одним знаком після коми. Файли, менші приблизно за 50 байтів, показуються як 0.0 KB — це округлення, а не порожній файл.
Розмір Base64 і надлишокДовжина частини Base64 без префікса data:тип;base64, і наскільки вона більша за файл. Для великих файлів це близько 33 відсотків; для дуже малих — більше через доповнення (padding).
Назва декодованого файлуФайл для завантаження має назву «decoded», а також розширення, що відповідає типу MIME, наприклад «decoded.png», «decoded.txt» для типу «text/plain» або «decoded.bin», якщо тип не вказано. У рядку під кнопкою вказано назву файлу, його розмір та тип.
Текст під кнопкоюЯкщо URI даних неможливо прочитати або код Base64 містить символи, що не входять до набору A–Z, a–z, 0–9, + та /, замість завантаження під кнопкою з’явиться повідомлення.
Дані залишаються локальноКодування використовує FileReader браузера, а декодування створює файл у пам'яті, тож цей інструмент нікуди не надсилає ні файл, ні вставлений текст.

Ще кілька прикладів

Тестовий текст з RFC 4648

Вхідні дані
A text file foobar.txt that contains only the six letters foobar, with no line break
Результат

data:text/plain;base64,Zm9vYmFy і рядок Original: 0.0 KB | Base64: 0.0 KB (33% overhead). Zm9vYmFy — опублікований тестовий вектор RFC 4648 для foobar.

Декодування короткого тексту

Вхідні дані
data:text/plain;base64,Zm9vYg==
Результат

Функція «Decode & Download» зберігає 4-байтовий файл із назвою decoded.txt, який містить текст «foob», а рядок під кнопкою вказує назву файлу, його розмір та тип text/plain.

Зображення SVG з незвичним розширенням

Вхідні дані
data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciLz4=
Результат

Браузер зберігає порожнє 41-байтове зображення SVG з назвою decoded.svg+xml. Перейменуйте його на .svg, якщо хочете його переглянути.

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

Що він створює?

URI даних у форматі data:type;base64,data, де type — це тип MIME, який ваш браузер вказує для цього файлу (application/octet-stream, якщо тип не вказано). Кодування Base64 збільшує обсяг даних приблизно на третину, і це кодування, яке будь-хто може розшифрувати, а не шифрування.

Які URI даних може зчитувати програма «Decode & Download»?

URI-адреси даних у форматі Base64, такі як data:image/png;base64,... або data:text/plain;charset=utf-8;base64,..., у тому числі з символами перенесення рядка або символами, безпечними для URL-адрес, а також ті, що кодуються у відсотковому форматі без ;base64; усі інші випадки супроводжуються повідомленням під кнопкою. Файли, декодовані з фішингових вкладень, можуть бути шкідливими, тому перед відкриттям перевірте їх за допомогою File Type Sniffer.

Чи завантажується файл на сервер?

Ні. Файл зчитується за допомогою API FileReader, а URI даних формується безпосередньо на цій сторінці; нічого не завантажується. Конвертуються файли розміром до 50 МБ, оскільки URI даних більшого розміру може призвести до зависання вкладки.

Чому фішинговий лист чи сторінка містить довгий рядок data:...?

HTML-вкладення та фішингові сторінки часто вбудовують логотипи, шрифти, скрипти або цілі файли як Base64 data URI. Тоді вміст передається всередині сторінки, а не завантажується з окремої адреси. Декодування рядка тут показує, що в ньому приховано, без відкриття оригінальної сторінки.

Чи можна декодувати звичайний Base64 без префікса data:?

Так, якщо додати його. Введіть «data:application/octet-stream;base64» перед рядком і натисніть «Декодувати та завантажити» — ви отримаєте файл із назвою decoded.bin. Для коротких текстів швидше використовувати Base64 Encoder/Decoder.

Чому для малих файлів надлишок перевищує 33 відсотки?

Base64 перетворює кожні 3 байти на 4 символи й доповнює останню групу знаками =. У файлі з кількох байтів це доповнення становить значну частку, тож для 1-байтового файлу показується 300 відсотків. Починаючи з кількох кілобайтів, значення тримається близько 33 відсотків.

Чи безпечно відкривати файл SVG чи HTML, декодований із підозрілого повідомлення?

Не у вашому звичайному браузері. Файли SVG і HTML можуть містити скрипти й посилання, що спрацьовують під час відкриття. Спершу перевірте тип файлу та хеш і відкривайте такі файли лише в пісочниці або на окремій машині для аналізу.

Пояснення термінів

Дослідження PhishDestroy