Шестнадцатеричные значения в заголовках протокола - PullRequest
0 голосов
/ 13 января 2011

Почему заголовки протокола, такие как TCP или UDP, обычно используют шестнадцатеричное представление при заполнении определенных полей в заголовке протокола?Есть ли какое-то конкретное преимущество?

Ответы [ 2 ]

4 голосов
/ 13 января 2011

В зависимости от рассматриваемых полей (флаги, такие как SYN FIN ACK RST URG PSH ..) проще всего установить поля, используя арифметику с битовым сдвигом (0x1 < TCP_OFFSET_SYN) и OR | или AND & результатыс существующим полем.Сдвиги просто идут с шестнадцатеричным, а не с десятичным, и их часто удобнее читать, чем восьмеричные.

Все сводится к тому, кто бы ни писал код, который вы читаете, он, вероятно, думал, что в этом случае hex более понятен, чем десятичный,но это явно субъективно.Ваше мнение может отличаться.:)

0 голосов
/ 25 сентября 2012

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

...