https://github.com/32bitkid/huffman
A simple Huffman decoder for golang
https://github.com/32bitkid/huffman
Last synced: 5 months ago
JSON representation
A simple Huffman decoder for golang
- Host: GitHub
- URL: https://github.com/32bitkid/huffman
- Owner: 32bitkid
- License: mit
- Created: 2015-12-21T17:01:32.000Z (over 10 years ago)
- Default Branch: master
- Last Pushed: 2018-07-10T16:53:24.000Z (almost 8 years ago)
- Last Synced: 2025-08-14T03:39:14.899Z (10 months ago)
- Language: Go
- Size: 4.88 KB
- Stars: 1
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# huffman
Provides basic huffman decoder implemenation.
[](https://godoc.org/github.com/32bitkid/huffman)
## Installation
```bash
$ go get github.com/32bitkid/huffman
```
## Examples
```go
// 0xa5 => 0b 1 01 00 1 01 => True, False, Maybe, True, False
br := br.NewBitReader(bytes.NewReader([]byte{0xa5}))
decoder := huffman.NewBinaryTreeHuffmanDecoder(huffman.HuffmanTable{
"1": "True",
"01": "False",
"00": "Maybe",
})
for {
val, err := decoder.Decode(br)
if err != nil {
break
}
fmt.Println("%s", val)
}
```