TITLE:zlib (A Massively Spiffy Yet Delicately Unobtrusive Compression Library) - http://www.zlib.net/ -- http://www.zlib.net/zlib_tech.html Technical Details - http://oku.edu.mie-u.ac.jp/~okumura/compression/zlib.html zlib 入門 - http://dencha.ojaru.jp/programs/pg_filer_04_extra_03.html zlib1.2.2 FAQ 訳 - http://www.futomi.com/lecture/japanese/rfc1950.html RFC 1950 ZLIB Compressed Data Format Specification version 3.3 日本語訳 * compress / uncompress [#x10ab7d2] ** compress [#compress] compsize = ~; // 圧縮後のサイズより大きな値 compbuff = malloc(compsize); int result = compress(compbuff, &compsize, origbuff, origsize); if (result != Z_OK) { if (result == Z_MEM_ERROR) { fprintf(stderr, "compress: Z_MEM_ERROR: can't malloc\n"); } else if (result == Z_BUF_ERROR) { fprintf(stderr, "compress: Z_BUF_ERROR: not enough buff size\n"); } return 1; // FAILURE } ** uncompress [#uncompress] origsize = ~; // 伸張後のサイズより大きな値 origbuff = malloc(origsize); int result = uncompress(origbuff, &origsize, compbuff, compsize); if (result != Z_OK) { if (result == Z_MEM_ERROR) { fprintf(stderr, "uncompress: Z_MEM_ERROR: can't malloc\n"); } else if (result == Z_BUF_ERROR) { fprintf(stderr, "uncompress: Z_BUF_ERROR: not enough buff size\n"); } return 1; // FAILURE } * inflate / defrate [#q681d972] (予定) * 参考 [#ref] - http://tools.ietf.org/rfc/rfc1950.pdf - http://tools.ietf.org/rfc/rfc1951.pdf - http://tools.ietf.org/rfc/rfc1952.pdf * 関連 [#rel] - [[Deflate]] |