KDOC 378: 『RFC 1952: GZIP file format specification version 4.3』

この文書のステータス

  • 作成
    • 2025-05-06 貴島
  • レビュー
    • <署名>

概要

RFC 1952: GZIP file format specification version 4.3はgzipファイルの仕様を示した文書。

メモ

  • gzipファイルフォーマットは一連の「メンバ」、圧縮データのセットで構成される。
  • データ仕様のアスキーアートにも仕様がある。1つの箱は1バイトを示す
  • least significant: 最下位ビット
  • significant bit: 最上位ビット
  • 先頭はgzipファイルであることを示すID
    • ID1 = 31(0x1f, \037)
    • ID2 = 139(0x8b, \213)
echo "xxx" > aaa
gzip aaa
xxd aaa.gz
rm aaa.gz
00000000: 1f8b 0808 d6bc 1968 0003 6161 6100 aba8  .......h..aaa...
00000010: a8e0 0200 6774 1ed2 0400 0000            ....gt......
echo "xxx" > aaa
gzip aaa
xxd aaa.gz
rm aaa.gz
00000000: 1f8b 0808 35be 1968 0003 6161 6100 aba8  ....5..h..aaa...
00000010: a8e0 0200 6774 1ed2 0400 0000            ....gt......
echo "xxx" > AAA
gzip AAA
xxd AAA.gz
file AAA.gz
rm AAA.gz
00000000: 1f8b 0808 27c2 1968 0003 4141 4100 aba8  ....'..h..AAA...
00000010: a8e0 0200 6774 1ed2 0400 0000            ....gt......
AAA.gz: gzip compressed data, was "AAA", last modified: Tue May  6 08:02:47 2025, from Unix, original size modulo 2^32 4
echo "xxx" > あああ
gzip あああ
xxd あああ.gz
rm あああ.gz
00000000: 1f8b 0808 39c1 1968 0003 e381 82e3 8182  ....9..h........
00000010: e381 8200 aba8 a8e0 0200 6774 1ed2 0400  ..........gt....
00000020: 0000                                     ..
echo "xxx" > aaa
gzip aaa
echo "yyy" | gzip -c >> aaa.gz
xxd aaa.gz
echo "================"
gzip -c -d aaa.gz
rm aaa.gz
00000000: 1f8b 0808 cdbd 1968 0003 6161 6100 aba8  .......h..aaa...
00000010: a8e0 0200 6774 1ed2 0400 0000 1f8b 0800  ....gt..........
00000020: 0000 0000 0003 abac ace4 0200 7448 7b72  ............tH{r
00000030: 0400 0000                                ....
================
xxx
yyy
echo "xxx" > aaa
gzip aaa
xxd aaa.gz
file aaa.gz
rm aaa.gz
00000000: 1f8b 0808 02ca 1968 0003 6161 6100 aba8  .......h..aaa...
00000010: a8e0 0200 6774 1ed2 0400 0000            ....gt......
aaa.gz: gzip compressed data, was "aaa", last modified: Tue May  6 08:36:18 2025, from Unix, original size modulo 2^32 4

関連

なし。