Разработка BitStream в C#

Можно также ограничить ключи к допустимым командам (в authorized_keys файле).

Т.е. пользователь не зарегистрировался бы на пути ssh и затем имел бы ограниченный набор команд, а скорее будет только позволен выполнить те команды через ssh (например, "ssh somehost bin/showlogfile")

5
задан Elazar Leibovich 8 September 2009 в 04:37
поделиться

3 ответа

Вот некоторые дополнительные соображения:

В случае с булевой функцией - только один бит необходим для представления истины или лжи. Когда этот бит добавляется в начало потока, поток битов становится "1". Когда вы расширяете этот поток до длины байта, он вынужден добавлять нулевые биты в конец потока, даже если этих битов не было в потоке изначально. Положение в потоке является важной информацией, как и значения битов, и поток битов "1000000" или 0x80 гарантирует, что последующие читатели потока могут ожидать, что первый бит, который они прочитают, будет первым добавленным битом.

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

Наконец, если вы используете Intel x86, архитектура вашего процессора "little-endian", что означает LSB first, как вы и описываете. Если вам нужно хранить значения в потоке как big-endian, вам придется добавить уровень преобразования в ваш код - подобно тому, что вы показали выше, где вы вставляете по одному байту в поток в нужном порядке. Это раздражает, но обычно требуется, если вам нужно взаимодействовать с Unix-компьютерами с большой эндианой или если этого требует спецификация протокола.

Надеюсь, это поможет!

3
ответ дан 14 December 2019 в 19:20
поделиться

Есть ли причина для того дизайна, который мне не хватает? Любая другая реализация потока битов с таким поведением? Каковы конструктивные соображения для этого?

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

1
ответ дан 14 December 2019 в 19:20
поделиться

Я согласен с Элазаром.

Как он / она указывает, это тот случай, когда читатель и писатель НЕ согласны с порядком битов. На самом деле они несовместимы.

1
ответ дан 14 December 2019 в 19:20
поделиться
Другие вопросы по тегам:

Похожие вопросы: