https://github.com/athanclark/z85
z85 implementation for Haskell
https://github.com/athanclark/z85
ascii binary-encoding haskell z85 zeromq
Last synced: about 1 month ago
JSON representation
z85 implementation for Haskell
- Host: GitHub
- URL: https://github.com/athanclark/z85
- Owner: athanclark
- License: bsd-3-clause
- Created: 2018-12-17T11:22:09.000Z (about 7 years ago)
- Default Branch: master
- Last Pushed: 2018-12-30T18:03:15.000Z (almost 7 years ago)
- Last Synced: 2025-01-28T17:22:16.692Z (11 months ago)
- Topics: ascii, binary-encoding, haskell, z85, zeromq
- Language: Haskell
- Size: 34.2 KB
- Stars: 0
- Watchers: 3
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: ChangeLog.md
- License: LICENSE
Awesome Lists containing this project
README
# z85
[z85](https://rfc.zeromq.org/spec:32/Z85/) is a binary string codec, like hexadecimal or base64, but has a higher density
of compression than the former, due to its use of a higher base value of 85 than base 64. ByteStrings just need to be
a length of a multiple of 4 (a Word32String might be a better name).
There are multiple layers of exposed implementation in this package
- `Word32 <-> Vector 4 Z85Char` for low level work
- Attoparsec `Parser ByteString <-> Parser Text` for slightly higher level parsing of strict data
- Pipes `Pipe ByteString Text <-> Pipe Text ByteString` for encoding / decoding streams of strict data
- Casual `Lazy.ByteString ~ Lazy.Text` functions for encoding / decoding lazy data.