同じ文字列が頻出する場合は
その文字列を覚えておく圧縮形式が
恐らくあると思います。
そうするならば
こんにちは
こんばんわ
という内容の aaa.txt と
おはよう
こんにちは
こんばんわ
という内容の bbb.txt があるならば
2
aaa.txt
bbb.txt
2,3
こんにちは
こんばんわ
おはよう
こんにちは
こんばんわ
という感じで内部的に 1 ファイルにして
圧縮を掛けたりしないのかと思う訳です。
一番上の 2 はファイル数です。
2,3 行目はファイル名です。ファイル数行あります。
2,3 は各ファイルの行数です。つまり
aaa.txt は 2 行 bbb.txt は 3 行です。
バックアップを取りながら作業したファイル等は
多くの箇所が同じような記述になると思うため
大きく圧縮される気がするのです。
恐らく各ファイルの
文字コードが統一されていない事が
原因だと推測されるのですが
何とかならないものでしょうか?
同じようなファイルを
同時に圧縮しているのに
容量がきちんと 2 個分
消費している事が疑問なのです。
byte 配列で読み込んで
List<byte> に足していき
その List<byte> を圧縮する等の方法で
単体を圧縮するより圧縮率を上げる事が
できそうに思うのです。
上記の方法の場合は
ファイル名や分割する行数を記憶する
テキストファイルを
圧縮ファイルに格納する必要はあります。
少し疑問に思ったため
呟いてみることにしました。
短い記事ですが今回はここまで。
閲覧ありがとうございました。