项目详情
由
分享
HelloGitHub 评分
0 人评分
快速、无损的数据压缩算法 Zstandard 的 C 语言实现
过去 6 天共收获 54 颗 Star ✨
使用方向键查看日期,Home 和 End 跳至首尾,Escape 关闭提示。| 日期 | Star | 较前日 |
|---|---|---|
| 周五 | 28,181 | — |
| 周六 | 28,197 | +16 |
| 周日 | 28,207 | +10 |
| 周一 | 28,210 | +3 |
| 周二 | 28,219 | +9 |
| 周三 | 28,235 | +16 |
28.2k
星数
否
中文
C
主语言
是
活跃
424
贡献者
453
Issues
是
组织
无
最新版本
3k
Forks
无
协议

快速、无损的数据压缩算法 Zstandard 的实现。Zstd 的压缩比接近 lzma、lzham 和 ppmx,并且比 lza 或 bzip2 性能更好。在相似的压缩比情况下,它解压缩的速度比其他的算法都要快。很多知名项目和游戏都有这个算法的身影,示例代码:
```c
static void compress_orDie(const char* fname, const char* oname)
{
size_t fSize;
void* const fBuff = mallocAndLoadFile_orDie(fname, &fSize);
size_t const cBuffSize = ZSTD_compressBound(fSize);
void* const cBuff = malloc_orDie(cBuffSize);
/* Compress.
* If you are doing many compressions, you may want to reuse the context.
* See the multiple_simple_compression.c example.
*/
size_t const cSize = ZSTD_compress(cBuff, cBuffSize, fBuff, fSize, 1);
CHECK_ZSTD(cSize);
saveFile_orDie(oname, cBuff, cSize);
/* success */
printf("%25s : %6u -> %7u - %s \n", fname, (unsigned)fSize, (unsigned)cSize, oname);
free(fBuff);
free(cBuff);
}
```
评论
评分:
暂无精选评论