01 / 06
同じ中身を、短く書く
前の回で tar は縮めないと分かったね。縮める役はこの人だよ。
~ $ gzip moto.txt仕組みはとても素直だよ。繰り返しを見つけて、短い印に置きかえるんだ。
hello hello hello hello ...(2000回) ↓「hello を 2000 回」と書く実際に測ると、12000 バイトが 61 バイトになるよ。200分の1だね。
もちろん、こんなに縮むのは繰り返しが多いときだけだよ。
同じ言葉が並ぶ文章・ログ → よく縮む写真や動画・すでに圧縮済み → ほとんど縮まない写真(JPEG)や動画はすでに圧縮されているので、gzip をかけても逆に少し増えるんだ。増える理由は、印の表を一緒に入れないと元に戻せないからだよ。
だから圧縮は「魔法」ではないんだ。中身の性質次第だよ。