UAP14475 のブログⅢ

Yahoo!ブログから引っ越してきました。パソコンとトイガンが大好物です。  暇になると艦これを始めてしまいます。とにかく秘書艦は阿武隈ちゃんで。

WinRARの圧縮率表示について

夏休みの自由研究・・・じゃなくて、圧縮ファイル量産時の評価で困った点があったので記事にしました。


WinRARは、RARファイルの 「合計サイズ」、「格納サイズ」、「圧縮率」 を表示することができます。
この情報表示は、分割されたRARファイルのPartによって異なることが分かりました。
以下にRARファイルの情報表示の結果を示します。ただしリカバリボリュームは10%で、
ファイルAのサイズは、28,488,403,563 byte です。

ファイルAを単一の圧縮ファイル(3,387,909,380 byte)にした場合、
・ 合計サイズ : 28,488,403,563
・ 格納サイズ : 3,072,806,113
・ 圧縮率 : 10%

ファイルAが5分割(713,031,680 byte×4+535,884,104 byte×1)された
圧縮ファイル(合計3,388,010,824 byte)の場合、
○Part01
・ 合計サイズ : 28,488,403,563
・ 格納サイズ : 3,072,806,127
・ 圧縮率 : 10%
○Part02
・ 合計サイズ : 28,488,403,513
・ 格納サイズ : 2,426,108,840
・ 圧縮率 : 8%
〇Part03
・ 合計サイズ : 28,488,403,513
・ 格納サイズ : 1,779,411,308
・ 圧縮率 : 6%
○Part04
・ 合計サイズ : 28,488,403,513
・ 格納サイズ : 1,132,713,776
・ 圧縮率 : 3%
〇Part05
・ 合計サイズ : 28,488,403,513
・ 格納サイズ : 486,016,244
・ 圧縮率 : 1%



そもそもパラメーターの表すものが分からないというのは困りましたね・・・
で、結論から言ってしまうと、

合計サイズ=圧縮前のサイズ
格納サイズ=対象のPartとそれ以降のPartの、リカバリレコードを除いた、圧縮後のデータサイズ
圧縮率=格納サイズの、圧縮前のファイルサイズに対する割合%(小数点以下切り捨て)

実際に、5分割されたRARファイルのPartN(1<N<4)のサイズは、
[(PartNのサイズ) - {Part(N+1)のサイズ}] × {100 + (リカバリレコードの割合%)} ÷ 100
で、およその値を求めることができるようでした。(正確に一致することはない。原因不明)
ヘッダ情報とかその辺の影響かなーとは思いますが、憶測の域を出ませんね。

(※なお、リカバリボリュームの有無・個数はいずれの値にも影響がないか、ほぼない。)



ということで、
分割RARファイル全体の圧縮率は、
最初の分割ファイルの圧縮率表示に等しい。


イメージ 1



























↑Part01の圧縮率が10%=Part01からPart05(末尾)までファイルサイズが圧縮前の10%=全体で圧縮率10%

うん・・・ただこれだけです。
ちなみに実験で使ったファイルの中身はHDDのディスクイメージです。
spfへの変換時に一応圧縮されているはずなのですが・・・とんでもない圧縮率が記録されたりしてます。



それと、WinRARは別PCにインストールした場合、体験版の残り日数が同期されていました。
同期する方法として考えられるのは・・・
グローバルIPアドレスごとにサーバーが記録している?
・ 同一LAN上のPCを自動検出してMACアドレスをサーバーが記録している?
・ インストール時に同一LAN上のPCから残り日数の情報を受け取っている?

んーよく分かんないですね。
じゃあライセンスを1台のPCに適用した場合はどうなるの? と更なる疑問。
そもそもライセンスって1台/1キーなのか1人/1キーなのか。
何も分からないなぁ・・・買ってみよう(結論)



(2015,07,22追記)
ヘルプを読んでみたらライセンスに関する記述がありました。
シングルコンピュータ使用ライセンス:ユーザーは、 1 台のコンピュータで本ソフトウェアを使用するライセンスを 1 つ購入します。
・・・台数分だけ必要なようです。まあ大部分の有料ソフトウェアと同じということですね。

また、体験版は同じバージョンでもダウンロードしたサイトによって(?)
ヘルプの言語(日本語or英語)が異なるようです。
日本語化の誤り(圧縮ダイアログの「圧縮率」が「残り時間」となっている、など)にも差が。