From a08480e8cd5df93a953323b400914520d5963660 Mon Sep 17 00:00:00 2001 From: BiSaXa <1669855+BiSaXa@users.noreply.github.com> Date: Sun, 4 Sep 2022 14:53:07 +0300 Subject: added skipbytes, 64 bit support for readbits, new readme --- README.md | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) (limited to 'README.md') diff --git a/README.md b/README.md index a493a1f..4f28e7b 100644 --- a/README.md +++ b/README.md @@ -1 +1,38 @@ # BitReader +A simple bit reader with big/little-endian support for golang.\ +Reads data from an existing byte array.\ +Uses string manipulation (for now).\ +Support reading up to 64 bits at one time.\ +Checking for overflowing the data. + +## Installation +```bash +$ go get github.com/bisaxa/bitreader +``` + +## Usage + +```go +import "github.com/bisaxa/bitreader" + +// data: []byte Data to read from byte array +// le: bool Little-endian(true) or big-endian(false) state +reader := bitreader.Reader(data, le) + +// read first bit +state, err := reader.ReadBit() + +// skip bits/bytes +err := reader.SkipBits(8) +err := reader.SkipBytes(4) + +// read bits +value, err := reader.ReadBits(11) +value, err := reader.ReadBits(64) // up to 64 bits +``` + +## Error Handling +ReadBits(x), ReadBit(), SkipBits(x) and SkipBytes(x) functions returns an error message when they don't work as expected. It is advised to always handle errors. + +## License +This project is licensed under [MIT License](LICENSE). \ No newline at end of file -- cgit v1.2.3