Awesome
Compression and Decompression for Arduino
Unishox is a technique for compressing short strings. This library provides for Arduino the same API as the desktop version at Unishox - Guaranteed compression for Short Strings.
To find out how Unishox works, read this article.
Usage
The following API can be used for compressing and decompressing strings or files:
int unishox_compress_simple(const char *in, long len, char *out);
int unishox_decompress_simple(const char *in, long len, char *out);
See example provided for demonstration of usage or see the documentation at https://github.com/siara-cc/Unishox for further details.
For using Unishox to store compressed data in Progmem of Arduino Uno and up, see the library at https://github.com/siara-cc/Unishox_Arduino_Progmem_lib.
Example
The example provided with this library allows you to enter a string and see how much compression can be achieved. In general, compression utilities such as zip
, gzip
do not compress short strings well and often expand them. They also use lots of memory which makes them unusable in constrained environments like Arduino.