> SB>
> SB> Потому что с таким :element-type ф-я open работает не во всех ОС.
> SB> Хотелось бы кроссплатформенного решения.
>
> (unsigned-byte 8) работает во всех реализациях.
>
> Cначала считываем, например, с помощью read-byte или read-sequence,
> затем извлекаем биты.
Ты можешь подсказать, как реализовать макросс для считывания по 7 бит? В
общий чертах.
И еще, если у тебя есть время - соответствуют ли мои сообщения
техническим стандартам/традициям фидо? Про /n в теме письма знаю.
.
SB>> (unsigned-byte 8) работает во всех реализациях.
SB>> Cначала считываем, например, с помощью read-byte или
SB>> read-sequence, затем извлекаем биты.
SB>
SB> Ты можешь подсказать, как реализовать макросс для считывания по 7
SB> бит? В общий чертах.
Hе думаю, что это будет макрос. Скорее функция.
Hапример, считываешь по 7 байт.
(loop with octets = (make-array 7 :element-type '(unsigned-byte 8)))
for position = (read-sequence octets stream)
until (= position 0)
nconc (loop for i upfrom 0 below (* 8 position) by 7
collect (logior (ldb (byte ...) (aref octets
...))))
и т.д.
В качестве примера см. файл t1-font.lisp в дистрибутиве CL-PDF.
SB> И еще, если у тебя есть время - соответствуют ли мои сообщения
SB> техническим стандартам/традициям фидо? Про /n в теме письма знаю.
Я не особо разбираюсь в традициях ФИДО, но Usenet - вполне соответствуют.
--
Dmitriy Ivanov
lisp.ystok.ru