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



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

555   3  

3 ответов:

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

Примечание: кодировка base64 не является ни способом шифрования, ни способом сжатие данных. На самом деле кодированный фрагмент данных base64 в 1,333... раза больше, чем исходный элемент данных. Это единственный способ быть уверенным, что никакие данные не будут потеряны или изменены во время передачи.

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

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

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

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

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

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

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

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

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

Comments

    Ничего не найдено.