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