Строка октета: что это? - PullRequest
       24

Строка октета: что это?

26 голосов
/ 07 августа 2009

Я начинаю изучать некоторые концепции сетевого программирования для проекта, который собираюсь взять на себя, и продолжаю сталкиваться с этой концепцией строки октетов. Может ли кто-нибудь высказать свое мнение о том, что это такое, и как это относится к сетевому программированию?

Ответы [ 7 ]

48 голосов
/ 07 августа 2009

Октет = байт.

Строка октета = последовательность байтов.

Также см. Википедия .

22 голосов
/ 07 августа 2009

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

17 голосов
/ 23 января 2012

Предположим, представление двоичного числа от 00000000 до 11111111 в виде от 0x00 до 0xFF в шестнадцатеричном формате. Тогда octetString просто от 00 до FF.

Объединение нескольких октетов в строку в таком случае выглядит как 0x00 0x01 0x02 ... или просто 000102 .. как строка октетов.

Двоичные файлы могут быть закодированы в строки октетов и отправлены с веб-клиента на сервер в виде ASCII-строки, содержащей алфавит 0-F, например a8b9457fc6e3e410589f или его заглавные буквы. Есть JavaScript, использующий кодировку BASE-64, используемую для хранения изображений в строках. Чем больше алфавит, в данном случае (я думаю) A-Z, a-z, 0-9, тем меньше данных нужно передавать. каждый октет имеет 256 различных возможных значений и должен храниться в алфавите из 62 букв, очевидно, нужно использовать более одной буквы / октета. Возможно, теоретическое число пропорционально log62 (256).

Вывод заключается в том, что улучшенная читаемость занимает больше места, чем его двоичная версия, в примере с octetstream он вдвое длиннее, поскольку каждый символ ascii составляет восемь бит, а 2 символа (16 бит) представляют октет, который составляет восемь бит. Совершенно неэффективно.

6 голосов
/ 29 октября 2013

октетная строка:

это представление информации в ограниченном 8-битном режиме. Во время передачи данных от точки электронного устройства к другой точке устройства или любому другому устройству необходимо преобразовать их в пакет минимального размера. Поэтому он используется для разделения основных данных на небольшие и понятные для системы. например: Таким образом, целое число 2680 в двоичном 101001111000 будет преобразовано в этот 7-битный формат следующим образом:

Remaining integer-------------------encoded bytes

101001111000------------------------

10100-------------------------------01111000

0-----------------------------------11111000 & 00010100

Что представляется как (120) (20) отдельно в виде десятичной дроби. тогда делим 120 на 16 магазин как результат = 7 и напоминание = 8 снова разделите 20 на 16 магазинов как результат = 1 и напоминание = 4

новая форма номера 0X78 + 0X14

здесь 78 и 14 - строка октетов.

для кодирования их в нормальный режим: ((16 * 7) +8) * 128 ^ 0 + ((16 * 1) +4) * 128 ^ 1 = 2680

Я думаю, что это лучшее объяснение, но все же я ищу больше об этом. Пожалуйста, помогите мне разобраться с алфавитами. Я думаю, что это зависит от его значения ASCII.

5 голосов
/ 07 августа 2009

Группа из 8 битов в компьютере называется октетом. Байт одинаков для большинства практических целей, но не равен 8 битам на всех компьютерных архитектурах. Больше можно найти здесь .. Ссылка

2 голосов
/ 30 августа 2012

Последовательность октетов переменной длины, как в Абстрактной синтаксической нотации 1 (ASN.1), называется строкой октетов.

2 голосов
/ 20 декабря 2011

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

Octet всегда 8 бит. Но размер Byte зависит от аппаратного обеспечения. Большая часть системы поддерживает ASCII способ кодирования строк. В этих машинах размер Byte составляет восемь бит. Некоторые устройства, поддерживающие Unicode, используют 16 бит как один Byte.

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