RFC: 1951
Оригинал: DEFLATE Compressed Data Format Specification version 1.3
Категория: Информационный
Дата публикации:
Автор:
Перевод: Дмитрий Черкашин

3.1.1. Упаковка в байты

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

Однако, ниже мы описываем формат сжатого блока, как последовательность элементов данных различной битовой длины, а не как последовательность байтов. Поэтому мы должны определить, как упаковать эти элементы данных в байты, чтобы сформировать финальную последовательность сжатых байт:

  • элементы данных упакованы в байты в порядке увеличения номера бита в пределах байта, то есть начиная с наименее значимого бита байта.
  • элементы данных, отличные от кодов Huffman-а упакованы, начиная с наименее значимого бита элемента данных.
  • Huffman коды упакованы, начиная с наиболее значимого бита кода.

Другими словами, если распечатать сжатые данные как последовательность байтов, начиная с первого байта с *правой* границы и продвигаясь к *левой*, с наиболее-значимым битом каждого байта, расположенным слева как обычно, можно было бы разобрать результат с права на лево на элементы фиксированной-ширины в правильном порядке MSB-TO-LSB бит и на коды Huffman с реверсивным порядком бит (то есть, первый бит кода в LSB позиции).

2007 - 2017 © Русские переводы RFC, IETF, ISOC.