Nagłówek bloku Bzip2: 1AY & SY

To jest pytanie o bzip2format archiwum. Każde archiwum Bzip2 składa się z nagłówka pliku, jednego lub więcej bloków i struktury ogona. Wszystkie bloki powinny zaczynać się od „1AY & SY”, 6 bajtów zakodowanych za pomocą BCD cyfr liczby Pi, 0x314159265359. Wedługźródło bzip2:

/*--
  A 6-byte block header, the value chosen arbitrarily
  as 0x314159265359 :-).  A 32 bit value does not really
  give a strong enough guarantee that the value will not
  appear by chance in the compressed datastream.  Worst-case
  probability of this event, for a 900k block, is about
  2.0e-3 for 32 bits, 1.0e-5 for 40 bits and 4.0e-8 for 48 bits.
  For a compressed file of size 100Gb -- about 100000 blocks --
  only a 48-bit marker will do.  NB: normal compression/
  decompression do *not* rely on these statistical properties.
  They are only important when trying to recover blocks from
  damaged files.
--*/

Pytanie brzmi: czy to prawda, że ​​wszystkie archiwa bzip2 będą miały bloki z początkiem wyrównanym do granicy bajtu? Mam na myśli wszystkie archiwa utworzone przez implementację referencyjną bzip2, narzędzia bzip2-1.0.5 +.

Myślę, że bzip2 może analizować strumień nie jako strumień bajtów, ale jako strumień bitów (sam blok jest kodowany przez huffmana, który nie jest dopasowany bajtowo według projektu).

Innymi słowy: jeśligrep -c 1AY&SY większy (huffman może generować 1AY i SY wewnątrz bloku) lub równy liczbie bloków bzip2 w pliku?

questionAnswers(1)

yourAnswerToTheQuestion