データのペイロード後にデータが存在します[ZIPファイルの修正方法]
世界でメジャーなファイルの圧縮、展開ツールの「7-ZIP」でZIPファイルを展開すると「データのペイロード後にデータが存在します」というエラー(警告)が表示される場合があります。そんな時の対処方法とZIPファイルの修正方法をご紹介します。
警告エラー
ZIPファイルを展開すると次の様なメッセージが表示されます。
このエラーメッセージは「警告」でZIPファイルの最後尾に不要な「ゴミ」データがある場合に発生します。あくまでも「警告」ですので、ZIPファイルは正常に展開されます。
Windows7やWindows10の標準機能で展開する事や、UNZIP32.DLLでも正常にファイルは展開する事ができますので安心してください。
ZIPファイルを修正する
このようなメッセージを表示させない為には、バイナリエディタでZIPファイルを正しく修正する必要があります。バイナリエディタは無料のソフトウェアがありますので各自で用意してください。
修正する箇所
バイナリエディタで修正する箇所はファイルの最後尾です。名称は「ZIPセントラルディレクトリの終端レコード」(Wikipedeia)と呼ばれる所です。この仕様の詳細はWikipedeiaに記載されていますのでそちらでご確認ください。
ダメな例
黒背景の前の2バイトは「ZIPファイルのコメントの長さ」なのですが0バイトです。0バイトなのに「ZIPファイルのコメント」が24バイト(黒背景)も続いています。
その為に、7ZIPでは「データのペイロード後にデータが存在します」という警告メッセージが表示されます。
良い例1
「ZIPファイルのコメントの長さ」が0ですので、コメント自体も存在しません。
良い例2
「ZIPファイルのコメントの長さ」が0x18(24)ですので、24バイト分のコメントが続きます。
以上となります。