Website: https://zipack.github.io/
Specification: spec.md
This repository manages spec of Zipack format. Zipack is an efficient serialization format which beats JSON, it's smaller, faster and supporting more data types. In depth, Zipack has a better encoding than UTF-8 and IEEE Floating Point.
filename extension: .zipack
mime type: application/zipack
- small: Zipack is ~30% smaller than JSON.
- fast: prefix based Zipack parses faster than text based formats.
- rich types: Number, String, Bool, Null, ByteArray, List, Map and reserved types.
- Huffman encoding: more common types use fewer bits, see tree.km.
- new algorithm: Zipack has more compact encoding than UTF8 and IEEE Floating Point, see detail in spec.md.
- extendable: developers can add new data types into Zipack's reserved types.
- streaming: with large data, process and transmit Zipack at the same time. Each Zipack object can be concatenated seamlessly like a List.
You can simply replace JSON with Zipack. Enjoy embedding files into Zipack without using Base64. What's more, as Zipack is schema-less, you can extend Zipack's reserved types to exchange schema between peers. Common scenario includes memory cache, RPC protocol, config file, etc.
The most popular serialization format today is JSON, which is based on text. However text format has drawbacks like slow compilation and larger size(cannot handle binary data directly) in comparison to prefix-based binary format. So I defined a compact, schema-less binary-based serialization format in compatibility with JSON, in order to provide better performance in storage / on wire.
Zipack is just a specification, we need software to implement it into practice. I have already realized a JavaScript version zipack.js, but I need your help to build the entire ecosystem of Zipack. In order to build coder/decoder for different programing languages, jump to spec.md and leave any questions to me.
Location: Nanjing China
Email: jinhengyu666@qq.com or jinhengyu666@gmail.com
Blog (China): https://jimmy.blog.csdn.net/
I am a programmer interested in Information Theory and Math. If you like Zipack, contact and join me, make it great together.