KDOC 378: 『RFC 1952: GZIP file format specification version 4.3』
この文書のステータス
- 作成
- 2025-05-06 貴島
- レビュー
- 2025-06-16 貴島
概要
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......
- 誤り検出符号(CRC) 巡回冗長検査 - Wikipedia
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
関連
- 類似: KDOC 241: jpg画像のバイナリを眺める。ファイルの先頭に形式を示す決まった印があり、続く本体が圧縮されている点が共通する