Конвертер Base64

Додати на сайт Метаінформація

Інші інструменти

Декодер та кодувальник Base64

Декодер та кодувальник Base64

Base64 — позиційна система числення з основою 64 друкованих символів ASCII (American Standard Code for Information Interchange). Система застосовується, наприклад, для представлення бінарних файлів електронною поштою. Всі варіанти Base64 використовують символи A-Z, a-z і 0-9, всього 62 знаки, відсутні два знаки в системах реалізації, замінені різними символами. Кожні три вихідні байти кодуються чотирма символами.

Історія Base64

Спочатку електронною поштою можна було передавати лише текст (RFC 822). Згодом разом із текстом потрібно було передавати аудіо-, відео- та графічні файли, програми тощо. буд. Виникла необхідність перетворювати двійковий файл на текстовий. До UUE-кодування (Uuencode), що вже існувало тоді, додався Base64, який використовується в специфікації MIME (Multipurpose Internet Mail Extensions) (RFC 2045-2049).

MIME є стандартом опису заголовків в електронних повідомленнях. Його застосування дозволяє відправляти кілька вкладень в одному листі, наприклад, архівовані та текстові файли або HTML-сторінки. Поштова програма, яка розуміє MIME, вільно витягує архів із текстового файлу, показує повідомлення та обробляє теги HTML. Наприклад, Outlook Express самостійно запускає скрипти, вкладені в HTML-сторінку.

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

Алгоритм під назвою «кодування для друку» був вперше описаний в 1987 році, Base64 з'явився в червні 1992 року. Версії даної системи: Base16, Base32, Base36, Base58, Base85, Base91 та Base122. Пізніші стандарти активно використовуються в IT-сфері.

Цікавий факт

Для кодування URL у деяких системах використовується Base58, що відрізняється від Base64 відсутністю в кінцевому тексті символів, які можуть сприйматися людиною неоднозначно. Виключені 0 (нуль), O (велика латинська o), I (велика латинська i), l (маленька латинська L). Також виключені символи + (плюс) та / (коса риса), які при кодуванні URL можуть призводити до невірної інтерпретації адреси.

Base64 забезпечує оборотне кодування з можливістю відновлення. Сервіс переводить символи восьмибітної кодової таблиці в символи, що зберігаються при передачі інформації в мережах та між пристроями.

Кодування і декодування Base64

Кодування і декодування Base64

В основі Base64 лежить зведення трьох вісімок бітів до чотирьох шісток та їх подання у вигляді символів ASCII. Єдиним недоліком отриманого оборотного шифрування є розмір, який при кодуванні збільшується у співвідношенні 4:3.

Base64 у веб-додатках

Base64 - це можливість включати бінарні файли в HTML. Документ без окремих зображень та доповнень містить графічні, аудіо- та відеоелементи, таким чином замінюючи файли формату DOC, DOCX, PDF.

Деякі програми кодують двійкові дані, щоб спростити включення до URL. У випадку з Base64 застосування URL-кодувальника може бути незручним, оскільки символи «/» та «+» перетворюються на шістнадцяткові послідовності. Даний процес оборотний, але відновлення ускладнює подальший розбір рядка. Також символ % в окремих випадках доводиться повторно екранувати при передачі рядка через інші системи.

У спеціальному Base64 для URL відсутній знак «=», а символи «+» та «/» замінені на «*» та «-». При цьому кодування не змінює довжину значення, форма зберігається після кодування та може бути використана в реляційних базах даних, веб-формах та ідентифікаторах. У стандартному варіанті Base64 в URL-адресах символи "+" та "/", замінені на "-" та "_" (RFC 3548, розділ 4).

Один із варіантів Base64 для регулярних виразів містить «!» і "-" замість "*" і "-", замість "+" і "*". Ці символи можна зарезервувати для регулярних виразів. У цьому контексті [ ] можуть не працювати.

Також існують варіанти з «_»/«-» або «.»/«_» для використання рядка Base64 разом з ідентифікаторами для програм, або «.»/«-» для токенів імен XML (Nmtoken), або « _»/«:» у більш обмежених ідентифікаторах XML (Name). Крім цього, для URL застосовується Base58 без символів "+" та "/".

Base64 придатний для кодування зображень JPEG та PNG для вставки в електронні книги формату FB2. Кодування Base64 дозволяє відправляти невеликі зображення за допомогою довгих SMS.

Base64 застосовується дуже широко. Так, у Mozilla Thunderbird та Mozilla Application Suite система Base64 допомагає приховувати паролі в POP3. За допомогою Base64 вдається приховувати інформацію про криптографічне управління ключами, хоча подібне застосування не рекомендується через небезпеку.

Сканери спаму без Base64 нерідко пропускають рекламні повідомлення та інше інформаційне сміття, оскільки приймають листи як випадкові. Цим користуються спамери, щоб обійти основні антиспамові інструменти.