Подтвердить что ты не робот

Какова реальная цель кодирования Base64?

Почему у нас есть кодировка Base64? Я новичок, и я действительно не понимаю, почему вы запутываете байты во что-то другое (если только это не шифрование). В одной из книг я читаю, что кодировка Base64 полезна, когда двоичная передача невозможна. Например. Когда мы отправляем форму, она кодируется. Но почему мы конвертируем байты в буквы? Не могли бы мы просто преобразовать байты в строковый формат с промежутком между ними? Например, 00000001 00000004? Или просто 0000000100000004 без какого-либо пространства, потому что байты всегда входят в пару из 8?

4b9b3361

Ответ 1

Base64 - это способ кодирования двоичных данных в набор символов ASCII, известный почти каждой компьютерной системе, для передачи данных без потери или модификации самого содержимого. Например, почтовые системы не могут обрабатывать двоичные данные, потому что они ожидают ASCII (текстовые) данные. Поэтому, если вы хотите передать изображение или другой файл, он будет поврежден из-за способа обработки данных.

Примечание. Кодировка base64 НЕ является способом шифрования, а также способ уплотнения данных. Фактически, кодированная часть с кодировкой base64 на 1.333... раз больше, чем исходная датапаЦИЯ. Это только способ убедиться, что никакие данные не потеряны или не изменены во время передачи.

Ответ 2

Base64 - это механизм, позволяющий представлять и передавать двоичные данные по средам, которые допускают только печатные символы. Это наиболее популярная форма "базового кодирования", другие известные в использовании - Base16 и Base32.

Необходимость Base64 возникла из-за необходимости прикреплять двоичный контент к электронным письмам, таким как изображения, видео или произвольный двоичный контент. Поскольку SMTP [RFC 5321] допускает только 7-битные символы US-ASCII в сообщениях, необходимо представлять эти двоичные октетные потоки с использованием семибитных символов ASCII...

Надеюсь, что это ответ на вопрос

Ответ 3

Base64 - это более или менее компактный способ передачи (кодирования, по сути, но с целью передачи) любых двоичных данных.

См. http://en.wikipedia.org/wiki/Base64

"Общее правило состоит в том, чтобы выбрать набор из 64 символов, который является частью подмножества, общего для большинства кодировок, а также для печати".

Это очень общая цель и общая потребность - не тратить больше места, чем нужно.

Исторически это основано на том факте, что существует общее подмножество (почти) всех кодировок, используемых для хранения символов в байтах, и что большая часть возможных потерь или преобразований байтов в 2 ^ 8 возможных байтов при простой передаче данных (например, последовательность copy-paste-emailsend-emailreceive-copy-paste).

(пожалуйста, перенаправьте upvote на комментарий Брайана, я просто сделаю его более полным и, надеюсь, более понятным).

Ответ 4

Прочитайте это. V хорошее объяснение с примерами правил для преобразования в базу 64 из базы 256.