diff options
| author | BiSaXa <1669855+BiSaXa@users.noreply.github.com> | 2022-09-11 10:37:36 +0300 |
|---|---|---|
| committer | BiSaXa <1669855+BiSaXa@users.noreply.github.com> | 2022-09-11 10:37:36 +0300 |
| commit | 8d12a8d7592ee15d5ddc2136118ab750b4457cd1 (patch) | |
| tree | d9654bd2569903285c642a1aa4ce2a4045302989 | |
| parent | added go doc (diff) | |
| download | bitreader-8d12a8d7592ee15d5ddc2136118ab750b4457cd1.tar.gz bitreader-8d12a8d7592ee15d5ddc2136118ab750b4457cd1.tar.bz2 bitreader-8d12a8d7592ee15d5ddc2136118ab750b4457cd1.zip | |
changed readme for new version
Diffstat (limited to '')
| -rw-r--r-- | README.md | 36 |
1 files changed, 27 insertions, 9 deletions
| @@ -1,4 +1,4 @@ | |||
| 1 | # BitReader [](https://goreportcard.com/report/github.com/bisaxa/bitreader) [](https://github.com/bisaxa/bitreader/blob/main/LICENSE) | 1 | # BitReader [](https://goreportcard.com/report/github.com/bisaxa/bitreader) [](https://github.com/bisaxa/bitreader/blob/main/LICENSE) [](https://pkg.go.dev/github.com/bisaxa/bitreader) |
| 2 | A simple bit reader with big/little-endian support for golang.\ | 2 | A simple bit reader with big/little-endian support for golang.\ |
| 3 | Reads data from an existing byte array.\ | 3 | Reads data from an existing byte array.\ |
| 4 | Uses string manipulation (for now).\ | 4 | Uses string manipulation (for now).\ |
| @@ -15,24 +15,42 @@ $ go get github.com/bisaxa/bitreader | |||
| 15 | ```go | 15 | ```go |
| 16 | import "github.com/bisaxa/bitreader" | 16 | import "github.com/bisaxa/bitreader" |
| 17 | 17 | ||
| 18 | // data: []byte Data to read from byte array | 18 | // data: io.Reader Data to read from a io stream |
| 19 | // le: bool Little-endian(true) or big-endian(false) state | 19 | // le: bool Little-endian(true) or big-endian(false) state |
| 20 | reader := bitreader.Reader(data, le) | 20 | reader := bitreader.Reader(data, le) |
| 21 | 21 | ||
| 22 | // read first bit | 22 | // Read First Bit |
| 23 | state, err := reader.ReadBit() | 23 | state, err := reader.ReadBool() |
| 24 | 24 | ||
| 25 | // skip bits/bytes | 25 | // Skip Bits/Bytes |
| 26 | err := reader.SkipBits(8) | 26 | err := reader.SkipBits(8) |
| 27 | err := reader.SkipBytes(4) | 27 | err := reader.SkipBytes(4) |
| 28 | 28 | ||
| 29 | // read bits | 29 | // Read Bits/Bytes |
| 30 | value, err := reader.ReadBits(11) | 30 | value, err := reader.ReadBytes(4) |
| 31 | value, err := reader.ReadBits(64) // up to 64 bits | 31 | value, err := reader.ReadBits(64) // up to 64 bits |
| 32 | |||
| 33 | // Wrapper functions | ||
| 34 | state := reader.TryReadBool() // bool | ||
| 35 | value := reader.TryReadInt1() // uint8 | ||
| 36 | value := reader.TryReadInt8() // uint8 | ||
| 37 | value := reader.TryReadInt16() // uint16 | ||
| 38 | value := reader.TryReadInt32() // uint32 | ||
| 39 | value := reader.TryReadInt64() // uint64 | ||
| 40 | value := reader.TryReadFloat32() // float32 | ||
| 41 | value := reader.TryReadFloat64() // float64 | ||
| 32 | ``` | 42 | ``` |
| 33 | 43 | ||
| 34 | ## Error Handling | 44 | ## Error Handling |
| 35 | 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. | 45 | ReadBits(x), ReadBytes(x), ReadBool(), SkipBits(x) and SkipBytes(x) functions returns an error message when they don't work as expected. It is advised to always handle errors. \ |
| 46 | Wrapper functions, however, only returns the value and panics if an error is encountered. | ||
| 47 | |||
| 48 | ## Bug Report / Feature Request | ||
| 49 | Using [Github Issues](https://github.com/BiSaXa/BitReader/issues/new/choose), you can report a bug that you encountered and/or request a feature that you would like to be added. | ||
| 50 | |||
| 51 | ## Documentation | ||
| 52 | |||
| 53 | Full documentation can be found in https://pkg.go.dev/github.com/bisaxa/bitreader | ||
| 36 | 54 | ||
| 37 | ## License | 55 | ## License |
| 38 | This project is licensed under [MIT License](LICENSE). \ No newline at end of file | 56 | This project is licensed under [MIT License](LICENSE). \ No newline at end of file |