基本介紹
- 外文名:zipack
- 後綴名:.zipack
- mime類型:application/zipack
- 分類:序列化格式
- 倉庫:Github
簡介,特性,套用場景,生態系統,
簡介
當今最流行的序列化格式無疑是JSON,但是基於文本的JSON有許多缺點,比如解析速度慢,體積較大。而只有基於前綴的二進制格式能克服這些問題。所以Zipack就是這樣一個緊湊的、無協定的,用來取代JSON的二進制序列化格式,為數據的存儲和傳輸提供更好的方案。
特性
- 體積更小:可以將JSON壓縮至70%左右。
- 速度更快:基於前綴的二進制格式無須編譯,比文本格式更快。
- 類型豐富:支持Number,String,Bool,Null,ByteArray,List,Map(字典)以及保留類型。
- 變長編碼:根據Huffman編碼,常用的類型更短,如小整數隻占1個位元組。
- 原創算法:在處理字元串和浮點數上,Zipack採用壓縮率更高的編碼來取代標準的UTF8和IEEE浮點數,具體原理請參考規範。
- 自由擴展:Zipack提供保留前綴,開發者可藉此添加新的類型。
- 流化傳輸:處理大數據的時候,Zipack可以無縫拼接,邊傳輸邊處理。
套用場景
你可以直接用Zipack取代JSON,同時ByteArray類型讓你可以插入二進制檔案而無須使用臃腫的Base64編碼。由於Zipack是無格式的,你也可以選擇利用保留類型來預交換格式。常見的使用場景包括記憶體快取、RPC通信協定、配置檔案等。
生態系統
Zipack只是一個格式,想要投入使用,我們需要開發相應的軟體。Zipack.JS是官方開發的Zipack編解碼器,基於JavaScript語言且零依賴。Zipack誠邀您共建生態系統,請參考Zipack的規範,開發基於其他程式語言的編解碼器。