Что такое кодирование и декодирование в общении? - PullRequest
1 голос
/ 15 марта 2010

Может кто-нибудь перенаправить меня на несколько хороших ссылок о кодировании и декодировании в коммуникации и различных методах кодирования (unicode, base64, utf7) и т. Д.

Ответы [ 3 ]

2 голосов
/ 15 марта 2010

Википедия всегда хорошее начало.

Тогда всегда есть Статья Джоэла Спольски: Абсолютный минимум Каждый разработчик программного обеспечения Абсолютно, положительно должен знать о Юникоде и наборах символов (никаких оправданий!) .

Обратите внимание, что три вещи, которые вы называете, действуют на разных уровнях.

  • Юникод - это набор символов: отображение символов и цифр ( кодовые точки ).
  • UTF7 отображает кодовые точки и байты.
  • base64 отображает между байтами и байтами. (Он искажает байты так, что они представлены байтами в диапазоне ASCII.)
1 голос
/ 15 марта 2010

Определения кодирования и декодирования несколько субъективны.

Обе являются формами транслитерации , представляющими собой процесс преобразования из одного алфавита в другой.Примерами этого являются ASCII-UTF8, ASCII-base64 и т. Д.

Эти два отличия заключаются в том, что «кодирование» часто используется при транслитерации из используемого формата в некоторый вид передачи или промежуточный формат и декодирование.обратное.Вот где появляется «субъективный» бит. ASCII-UTF8 можно рассматривать как кодирование или декодирование в зависимости от контекста.

Другие форматы, такие как base64, используются почти всегда только для передачи (например, двоичные данные в электронной почте)и как таковое преобразование в них почти повсеместно называется «кодированием», а преобразование - «расшифровкой».

Важным моментом, который необходимо устранить, является то, что что-то вроде ASCII или UTF8 никоим образом не волшебно.Все эти форматы являются просто согласованным кодированием информации в двоичном формате.Таким образом, ASCII 65 - это буква «A» ни по какой другой причине, кроме стандартной.

Форматы Unicode становятся более интересными, поскольку в них проводится различие между кодовой точкой и кодировкой .Юникод определяет кодовые точки для каждого символа.Двоичные данные различны для каждого формата кодирования.Например, см. Символ Unicode 'EURO-CURRENCY SIGN' (U + 20A0) , чтобы увидеть все различные двоичные значения для одной кодовой точки.

0 голосов
/ 15 марта 2010

Что касается вашего юникода, base64, utf7 (никто не использует его, это может быть utf8). Это не просто «кодирование и декодирование», а кодирование и декодирование текстовых данных.

Юникод - это способ перечисления всех реальных и возможных символов. Он не имеет ничего о кодировании. UTFXX - это набор кодировки юникода (преобразование кода в фактические байты). Наиболее популярными являются UTF8 и UTF16. По сути, UTF8 совместим с ASCII (символы с кодами <128 представлены так же, как ASCII), но другие символы представлены 2-3 байтами. UTF16 кодирует большинство символов до 2 байтов. </p>

Base64 ничего не имеет о текстовых данных. Он кодирует общие двоичные данные в текст, который состоит из 64 печатных символов ASCII. Он используется для передачи двоичных данных, UTF8 и UTF16 по электронной почте обычно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...