Кодировка Base64

С помощью инструмента кодирования Base64 вы можете зашифровать текст, который вы вводите, с помощью метода Base64. При желании вы можете декодировать зашифрованный код Base64 с помощью инструмента Base64 Decode.

Что такое кодировка 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.