ファイルAとファイルBを読み込む
どちらかの枠にファイルをドロップするか、ファイルを選択を使います。AとBを入れ替えは即座に両者を交換し、すでに結果が表示されていれば再計算なしで反映されます。サンプルを読み込むを使うと、内容が異なる箇所とサイズが異なる箇所を両方含む小さなペアが読み込まれます。
- 1ファイルにつき最大512MiBまでです。超えるファイルは読み込む前に拒否されます。
Files, Binary & Compression
ファイルAとファイルBを選んで比較を実行すると、両者のバイト単位の差分がすべて表示されます。
ここにファイルをドロップするか、選択してください。
ここにファイルをドロップするか、選択してください。
ファイルはブラウザ内でのみ比較され、アップロードされません。
ファイルを変更した場合は、もう一度比較を実行してください。
ファイルAとファイルBを選んで、比較を実行してください。
チェックサムでは「違う」ことしかわからず、「どこが違うか」まではわかりません。再エンコードしたアセット、パッチを当てたファームウェア、同じバイナリの2つのビルドなど、そんな場面でバイナリファイル比較が役立ちます。両方のファイルをローカルで読み込み、一致・不一致の1つの結論ではなく、差分のあるバイト範囲をオフセットと長さで1つずつ報告します。
これはテキストdiffではありません。あるバイトが挿入・削除されたときにそれを検出して以降を再整列することはせず、A側のオフセットNとB側のオフセットNをそのまま比較します。cmpや多くのhex比較ツールと同じ方針で、行という概念のないバイナリ形式では、このほうが結果を予測しやすくなります。
「違う」ことだけでなく、バイト単位でどこが違うのかまでわかります。
一致・不一致の1つの判定ではなく、差分ブロック一覧が各領域のオフセットと長さを示します。クリックするとhexビューがその位置へ移動し、前後数バイトの文脈も一緒に表示されます。
ファイルAとファイルBのサイズが異なる場合、長いほうの余分な末尾バイトは、最後の変更箇所に混ぜ込まれず、独立した差分ブロックとして表示されます。
どちらかの枠にファイルをドロップするか、ファイルを選択を使います。AとBを入れ替えは即座に両者を交換し、すでに結果が表示されていれば再計算なしで反映されます。サンプルを読み込むを使うと、内容が異なる箇所とサイズが異なる箇所を両方含む小さなペアが読み込まれます。
2つのファイルを選んだだけでは比較は始まりません。比較するボタンを押すか、Ctrl/Cmd+Enterを使ってください。大きなファイルの組み合わせが準備前に動き出すのを防げます。どちらかのファイルを変更すると、それまでの結果は古い状態になります。
差分のみ表示は差分ブロック一覧だけを出し、全体を表示にするとファイル全体をページ送りで見られます。オフセットへ移動には10進数でも0x始まりの16進数でも入力できます。
両方のファイルを同じ1MiB単位で読み込み、同じオフセット同士を1バイトずつ比較します。差分ブロックは連続する差分バイトのランレングスなので、結果は常に一定です。
各差分にはオフセット・長さ・種類が付いており、選択するとhexビューがそこへ移動し、その部分を断片として書き出せるようになります。
両ファイルのサイズ、差分バイト数とブロック数、各ブロックのオフセットと長さを記した、プレーンテキストのレポートをコピーまたはダウンロードできます。
差分のみ表示は差分ブロック間をジャンプし、全体を表示は指定したバイト数ごとにファイル全体をページ送りで読み進められます。
ファイルAとファイルBを選んで比較するを押すと、1バイトずつ比較した結果が差分ブロック一覧としてオフセットと長さ付きで表示されます。各ブロックを選ぶと実際のバイト内容も確認できます。
デスクトップではBeyond Compare、WinHex、UltraEditの比較機能、コマンドラインではcmpやvbindiffがよく使われます。このツールは同じ役割をインストール不要のブラウザ上で提供し、差分ブロックの統計やダウンロード可能なレポートも備えています。
このツールはcmpと同じ厳密なオフセット基準の方針を取ります。一方のファイルのバイトNをもう一方のバイトNと比較するだけで、再整列は行いません。テキスト向けのdiffは行の挿入・削除を検出しようとしますが、この考え方は任意のバイナリデータにはそのまま当てはまりません。
できません。このツールが生成するのは人が読むための差分レポートであり、bsdiffやxdeltaのような実行可能なパッチ形式ではありません。パッチの作成・適用には専用のツールを使ってください。
あります。このページがそれです。2つのファイルを選んで比較するを押すだけで、すべてブラウザ内で処理が完結し、登録もアップロードも不要です。
解決しませんでしたか?
まずはサンプルを読み込んで、内容の変更とサイズの違いがどのように表示されるかを確認してから、自分のファイルでバイナリファイル比較を使ってみてください。
処理はすべてブラウザ内のローカルで完結します。