Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
A pure Go implementation of the smaz compression library for short strings.
Go
branch: master

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
testdata
trie Use a trie for compression
LICENSE
README.md
smaz.go
smaz_test.go

README.md

go-smaz

GoDoc

go-smaz is a pure Go implementation of antirez's smaz, a library for compressing short strings (particularly containing English words).

Installation

$ go get github.com/cespare/go-smaz

Usage

import (
  "github.com/cespare/go-smaz"
)

func main() {
  s := "Now is the time for all good men to come to the aid of the party."
  compressed := smaz.Compress([]byte(s))           // type is []byte
  decompressed, err := smaz.Decompress(compressed) // type is []byte; string(decompressed) == s
  if err != nil {
    ...
}

Also see the API documentation.

Notes

go-smaz is not a direct port of the C version. It is not guaranteed that the output of smaz.Compress will be precisely the same as the C library. However, the output should be decompressible by the C library, and the output of the C library should be decompressible by smaz.Decompress.

Author

Caleb Spare (cespare). smaz was created by Salvatore Sanfilippo (antirez).

Contributors

License

MIT Licensed.

Other implementations

Something went wrong with that request. Please try again.