mirror of
https://github.com/codedread/bitjs
synced 2025-10-16 17:56:00 +02:00
Add some documentation for BitStream
This commit is contained in:
parent
617a63e16d
commit
2dd0a815d0
4 changed files with 33 additions and 1 deletions
|
@ -134,7 +134,7 @@ const crc = bstream.readBits(12); // read in 12 bits as CRC, advancing the point
|
|||
const flagbits = bstream.peekBits(6); // look ahead at next 6 bits, but do not advance the pointer
|
||||
```
|
||||
|
||||
<!-- TODO(bitjs): Provide better documentation -->
|
||||
More explanation and examples are located on [the API page](./docs/bitjs.io.md).
|
||||
|
||||
## Reference
|
||||
|
||||
|
|
32
docs/bitjs.io.md
Normal file
32
docs/bitjs.io.md
Normal file
|
@ -0,0 +1,32 @@
|
|||
# bitjs.io
|
||||
|
||||
This package includes stream objects for reading and writing binary data at the bit and byte level:
|
||||
BitStream, ByteStream.
|
||||
|
||||
## BitStream
|
||||
|
||||
A bit stream is a way to read a variable number of bits from a series of bytes. This useful for
|
||||
parsing certain protocols (for example pkzip or rar algorithm). Note that the order of reading
|
||||
bits can go from least-to-most significant bit, or the reverse.
|
||||
|
||||
### Least-to-Most Direction
|
||||
|
||||

|
||||
|
||||
```javascript
|
||||
const bstream = new BitStream(ab, false /* mtl */);
|
||||
bstream.readBits(6); // (blue) 0b001011 = 11
|
||||
bstream.readBits(5); // (red) 0b11001 = 25
|
||||
bstream.readBits(8); // (green) 0b10000010 = 130
|
||||
```
|
||||
|
||||
### Most-to-Least Direction
|
||||
|
||||

|
||||
|
||||
```javascript
|
||||
const bstream = new BitStream(ab, true /* mtl */);
|
||||
bstream.readBits(6); // (blue) 0b010010 = 18
|
||||
bstream.readBits(5); // (red) 0b11000 = 24
|
||||
bstream.readBits(8); // (green) 0b10110100 = 180
|
||||
```
|
BIN
docs/bitstream-ltm.png
Normal file
BIN
docs/bitstream-ltm.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 30 KiB |
BIN
docs/bitstream-mtl.png
Normal file
BIN
docs/bitstream-mtl.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 29 KiB |
Loading…
Add table
Add a link
Reference in a new issue