Разница между символами и октетами в хешировании - PullRequest
7 голосов
/ 25 января 2009

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

Это приводит меня к мысли, что между ними есть формальное различие. Если бы кто-нибудь мог просветить меня, что это такое, я был бы признателен.

(и, пожалуйста, никаких лекций о восьмеричных символах кодах или восьмеричных (базовых 8) числах; я говорю о существительном 'октет', а не о прилагательном )

РЕДАКТИРОВАТЬ : как оказалось, слово, которое я искал, это «октет».

Ответы [ 3 ]

23 голосов
/ 25 января 2009

Вы, вероятно, думаете о термине октет , который часто используется как синоним однобайтового (не-Unicode) символа. Октет в этом случае означает восемь битов. Символ может содержать восемь, шестнадцать или даже больше битов, но октет всегда равен восьми битам.

5 голосов
/ 26 января 2009

Октет - это 8-битный фрагмент данных, байт (хотя байты не обязательно имеют 8 бит). Символ - это самая маленькая единица текста. Это совершенно разные понятия, и их взаимозаменяемое использование выдает серьезное незнание сложности кодировок текста. К сожалению, этот конкретный элемент невежества слишком распространен, и то, что стандарт C явно определяет символ размером 1 байт, не помогает.

В частности, я бы очень осторожно относился к любому криптографическому тексту, который использует «символ» для обозначения «байт» (или «октет»).

2 голосов
/ 26 января 2009

Октет - это французское слово для байта, оно называется октет, потому что оно содержит восемь битов. Этот термин используется главным образом в телекоммуникациях, вероятно, из-за сильного французского влияния, например, CCITT.

...