Что подразумевается под Octet String? В чем разница между Октетом и Чаром? - PullRequest
6 голосов
/ 08 июля 2010

В чем разница между строкой октетов и символами? Как можно использовать строку октетов? Кто-нибудь может написать небольшую программу на C на строке Octet? Как строки октетов хранятся в памяти?

Ответы [ 5 ]

12 голосов
/ 08 июля 2010

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

Тем не менее, на типичном компьютере октет будет совпадать с байтом, а поток октетов будет сохранен в виде серии байтов.

1 голос
/ 08 июля 2010

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

Символ - это, в основном, байт - он определяется как наименьшая адресуемая единица памяти, которая почти на всех современных компьютерах такая же, как октет,Но были компьютеры с 9-битными, 16-битными, даже 36-битными «словами», которые по определению квалифицируются как символы.Вам нужно заботиться только об этих компьютерах (и, следовательно, о разнице между символом и октетом), если он у вас есть - пусть люди, обладающие странным оборудованием, беспокоятся о том, как заставить свои программы работать на нем.

1 голос
/ 08 июля 2010
  • Октет - это другое слово для 8-битного байта.
  • Значение символа обычно составляет 8 бит, но на некоторых архитектурах оно может быть другого размера.
0 голосов
/ 08 июля 2010

Строка, которая раньше была набором октетов, то есть очередь, является набором из 8 битов.

Строка в C всегда является нулевым символом, непрерывным набором байтов.В прошлом каждый байт, октет, представлял символ.Вот почему они назвали тип, используемый для создания строк, char .

Таблица ASCII, которая идет от 0 до 127, с версией графики / акцентов, изменяющейся от 0 до 255, была нетдостаточно долго для отображения символов в строке, поэтому кто-то может добавить биты к символьному представлению.Тупой от CS до 9 бит и т. Д. На то, что ребята из HW ответили: «Вы что, чокнутые, держите его как единицу адресации памяти?», Который был тогда байтом.Введите строки широких символов, то есть 16 бит на символ.В строке WC каждый символ представлен 2 байтами ... на ваше усмотрение действует правило char = 1 байт.

Чтобы сохранить точное описание строки, если это набор представленных символов-by-8bit (на Земле, следуя таблице ASCII, но я был на Марсе), это «строка октетов».

Если это не «строка октетов», это может быть или не быть WC... Джоэл был хороший пост об этом.

0 голосов
/ 08 июля 2010

Строка октетов - это просто последовательность битов, сгруппированных в порции по 8. Эти группы размером 8 часто представляют символы. Строка октетов - это базовый тип данных, используемый для SNMP.

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