hcobs alternatives and similar packages
Based on the "Codec" category.
Alternatively, view hcobs alternatives based on common mentions on social networks and blogs.
-
binary-serialise-cbor
Binary serialisation in the CBOR format -
multihash-serialise
Haskell libraries for interacting with IPFS -
postgresql-binary
Encoders and decoders for the PostgreSQL's binary format -
HCodecs
A library to read, write and manipulate MIDI, WAVE, and SoundFont2 files -
html-entities
A codec library for HTML-escaped text and HTML-entities -
hs-zstd
Bindings to the Zstandard library to make it usable from the Haskell programming language. -
activitystreams-aeson
Basic library for working with Activity Streams -
libvorbis
Haskell binding for libvorbis, for decoding Ogg Vorbis audio files -
threefish
Haskell implementation of the Threefish block cipher and the Skein hash function built on it. -
iteratee-compress
Enumerators for compressing and decompressing streams
Clean code begins in your IDE with SonarLint
* Code Quality Rankings and insights are calculated and provided by Lumnify.
They vary from L1 to L5 with "L5" being the highest.
Do you think we are missing an alternative of hcobs or a related project?
README
hcobs
Haskell implementation of the Consistent Overhead Byte Stuffing algorithm.
It provides a Stuffed
newtype wrapper for Lazy Bytestrings, which is parametrized on the Byte (Word8, represented as a type-level Nat) to be encoded away.
The implementation tries to be as efficient as possible, type safe and easy to use. If you have a "sink" like
sink :: Stuffed 0 -> IO ()
sink = undefined
You'd then simply be able to encode a Bytestring with sink $ stuff bytes
.
You can try this out in ghci with:
> :set -XOverloadedStrings
> :set -XDataKinds
> import Data.Stuffed
> let stuffedBytes = stuff "a\0b\0c" :: Stuffed 0
> unpack $ unwrap stuffedBytes -- directly access the underlying bytestring
[2,97,2,98,2,99]
> unpack $ unstuff stuffedBytes
[97,0,98,0,99]