Кодування Base64

За допомогою інструмента кодування Base64 ви можете зашифрувати введений текст за допомогою методу Base64. Якщо бажаєте, ви можете декодувати зашифрований код Base64 за допомогою інструмента декодування Base64.

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

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

Навіщо використовувати кодування Base64?

Потреба в кодуванні Base64 пов’язана з проблемами, які виникають, коли медіа-файли передаються в необробленому двійковому форматі до текстових систем. Оскільки текстові системи (наприклад, електронна пошта) інтерпретують двійкові дані як широкий діапазон символів, включаючи спеціальні командні символи, більшість двійкових даних, що передаються на носій передачі, неправильно інтерпретуються цими системами і втрачаються або пошкоджуються під час передачі. процес.

Один із методів кодування таких двійкових даних таким чином, щоб уникнути подібних проблем із передачею, — це надіслати їх як звичайний текст ASCII у форматі, закодованому Base64. Це один із прийомів, які використовуються стандартом MIME для надсилання даних, відмінних від простого тексту. Багато мов програмування, такі як PHP і Javascript, включають функції кодування та декодування Base64 для інтерпретації даних, переданих за допомогою кодування Base64.

Логіка кодування Base64

У кодуванні Base64 3 * 8 біт = 24 біти даних, що складаються з 3 байтів, розділені на 4 групи по 6 біт. Символи, що відповідають десятковим значенням між [0-64] із цих 4 6-бітових груп, збігаються з таблиці Base64 для кодування. Кількість символів, отриманих в результаті кодування Base64, має бути кратною 4. Закодовані дані, які не кратні 4, не є дійсними даними Base64. Під час кодування за допомогою алгоритму Base64, коли кодування завершено, якщо довжина даних не кратна 4, символ "=" (рівний) додається в кінець кодування, поки він не стане кратним 4. Наприклад, якщо в результаті кодування ми маємо 10-символьні дані, закодовані Base64, до кінця слід додати два «==".

Приклад кодування Base64

Наприклад, візьмемо три ASCII числа 155, 162 і 233. Ці три числа утворюють двійковий потік 100110111010001011101001. Двійковий файл, наприклад зображення, містить двійковий потік, який працює для десятків або сотень тисяч нулів і одиниць. Кодер Base64 починається з розбиття двійкового потоку на групи по шість символів: 100110 111010 001011 101001. Кожне з цих груп перетворюється на числа 38, 58, 11 і 41. Шестисимвольний двійковий потік перетворюється на двійковий (або базовий). 2) до десяткових символів (з основою 10) шляхом зведення в квадрат кожне значення, представлене 1 у двійковому масиві, позиційним квадратом. Починаючи праворуч і рухаючись ліворуч і починаючи з нуля, значення в двійковому потоці представляють 2^0, потім 2^1, потім 2^2, потім 2^3, потім 2^4, потім 2^ 5.

Ось ще один спосіб поглянути на це. Починаючи зліва, кожна позиція має значення 1, 2, 4, 8, 16 і 32. Якщо слот має двійкове число 1, ви додаєте це значення; якщо слот має 0, ви відсутні. Двійковий масив 100110 обертається 38: 0 * 2 ^ 01 + 1 * 2 ^ 1 + 1 * 2 ^ 2 + 0 * 2 ^ 3 + 0 * 2 ^ 4 + 1 * 2 ^ 5 = 0 + 2 десятковий + 4 + 0 + 0 + 32. Кодування Base64 бере цей двійковий рядок і ділить його на 6-бітові значення 38, 58, 11 і 41. Нарешті, ці числа перетворюються на символи ASCII за допомогою таблиці кодування Base64.