Perbandingan File Biner — diff byte per byte, penyelarasan blok, dan analisis tingkat bit
Perbandingan File Biner
Letakkan dua file dan halaman ini membandingkannya byte per byte, langsung di dalam
browser: setiap offset yang berbeda, diff hex dengan konteks sekitarnya, peta kepadatan
perbedaan, dan analisis tingkat bit yang menunjukkan bit mana
yang berubah. Mode blok yang diselaraskan terpisah mendeteksi penyisipan dan penghapusan
di tengah file — kasus yang tidak bisa diselaraskan oleh diff byte biasa.
Hasil dapat diekspor ke TXT dan CSV. Tidak ada yang diunggah ke mana pun.
Untuk mengedit byte alih-alih membandingkan, lihat editor hex; untuk teks, alat Diff Teks.
1. Pilih dua file
FILE A Letakkan file pertama di sini, atau klik untuk memilih Hingga 200 MB. Tetap di mesin ini.
FILE B Letakkan file kedua di sini, atau klik untuk memilih Dibandingkan dengan File A.
Konteks hex di sekitar setiap perbedaan: — perbedaan yang bertetangga dengan jarak kurang dari 16 byte ditampilkan sebagai satu blok.
2. Kesimpulan
Ringkasan perbandingan muncul di sini setelah kedua file dipilih dan dibandingkan.
Kepadatan perbedaan (merah: byte yang berbeda, oranye: byte yang hanya dimiliki satu file):
0x0
Analisis tingkat bit — posisi bit mana yang berubah (dari setiap byte yang berbeda, A XOR B):
3. Perbedaan — tampilan hex
| merah = File A, hijau = File B, baris yang identik dicetak sekali
Loading…
Blok perbedaan
Tabel perbedaan per byte
4. Tampilan blok yang diselaraskan (mendeteksi penyisipan & penghapusan)
Diff byte per byte menyejajarkan offset N dengan offset N. Jika byte disisipkan atau dihapus
di tengah salah satu file, semua yang setelah titik itu bergeser dan diff biasa
melaporkan seluruh ekornya sebagai berbeda. Mode ini melakukan hash pada blok 1 KB, mencocokkannya
di antara kedua file, dan melaporkan hasilnya sebagai operasi salin / sisip / hapus —
seperti cara alat delta seperti xdelta melihat perubahan. Tersedia jika kedua file
berukuran 64 MB atau kurang.
5. Ekspor
Privasi: kedua file dibaca dengan FileReader milik browser
dan dibandingkan di tab ini — tanpa server, tanpa unggahan, tanpa penyimpanan. File besar dibandingkan
dalam irisan 1 MB, sehingga bahkan input 200 MB tidak pernah sepenuhnya berada di memori sekaligus (kecuali
jika menjalankan tampilan yang diselaraskan blok, yang memuat kedua file selama prosesnya).
Apa itu perbandingan file biner?
Perbandingan biner menyejajarkan dua file pada byte 0 dan berjalan maju,
melaporkan setiap offset tempat byte-nya berbeda — setara browser dari
perintah klasik cmp -l. Alat diff teks tidak dapat melakukan ini: mereka
gagal pada byte yang tidak dapat dicetak atau diam-diam menafsirkan ulang file dalam
beberapa encoding karakter. Perbandingan biner memperlakukan kedua file sebagaimana adanya,
yaitu larik byte, yang diinginkan untuk gambar firmware, dump disk,
file basis data, blob terenkripsi, atau file apa pun yang formatnya tidak diketahui.
Tiga pertanyaan dijawab pada tiga kedalaman berbeda. “Apakah keduanya
sama?” adalah pertanyaan checksum — alat menjawabnya paling cepat, tetapi
hanya ya atau tidak. “Di mana keduanya berbeda?” adalah diff byte di
halaman ini: offset, nilai, dan bit mana yang terbalik. “Jenis perubahan
apa ini?” adalah yang ditambahkan tampilan yang diselaraskan blok — apakah
perbedaan itu berupa suntingan di tempat, potongan yang disisipkan, atau potongan yang dihapus.
Diff byte vs penyelarasan blok — mengapa dua tampilan?
Situasi
Diff byte per byte mengatakan
Tampilan yang diselaraskan blok mengatakan
Sebuah bidang ditimpa di tempat (ukuran file sama)
beberapa offset yang berbeda tersebar
sama, ditambah “semua yang lain disalin”
1 KB disisipkan pada offset 2000 file B
semua dari 2000 ke atas “berbeda”
salin 0–2000, sisipkan 1 KB, salin sisanya
Sebuah blok dihapus di tengah file B
semua dari titik itu ke atas “berbeda”
salin sampai celah, hapus N byte, salin sisanya
File B adalah file A dengan header berbeda yang ditambahkan di depan
seluruh file “berbeda”
hapus header, lalu satu salinan panjang — yaitu pergeseran konstan
Diff byte selalu benar — byte-byte itu memang berbeda pada
offset tersebut. Yang bergeser adalah interpretasinya setelah byte disisipkan atau
dihapus, sama seperti menambahkan baris di awal file teks membuat setiap nomor baris
berikutnya berubah.
Cara analisis tingkat bit dibaca
Untuk setiap byte yang berbeda, halaman menghitung A XOR B dan
menghitung posisi bit mana yang terset. Histogram itu sangat ekspresif:
perbedaan yang terkonsentrasi di bit 0 (bit paling tidak signifikan dari setiap
byte) adalah sidik jari steganografi LSB, tempat pesan disembunyikan dengan
menggeser bit rendah sampel piksel atau audio. Perbedaan yang tersebar merata di
kedelapan posisi berarti seluruh nilai ditulis ulang. Perbedaan yang hanya menyentuh bit
tinggi biasanya berarti satu bidang diganti dengan nilai yang besarnya sangat berbeda. Jarak Hamming (total
bit yang terbalik) mengukur hal yang sama dalam satu angka.
Satu catatan jujur: data acak kebetulan sama pada byte tertentu dengan probabilitas
1/256, sehingga dua file tak berhubungan dengan ukuran sama tetap cocok pada sekitar 0,4%
byte. Kemiripan 99,98% dengan beberapa blok perbedaan pendek adalah perubahan tingkat patch;
kemiripan 0,4% berarti file-nya memang tidak berhubungan.
Kesalahan umum
“Seluruh file merah setelah perbedaan pertama.” —
itu efek pergeseran yang dijelaskan di atas, bukan kerusakan sungguhan. Jalankan tampilan
yang diselaraskan blok: jika melaporkan satu penyisipan dan dua operasi salin panjang,
file berbeda tepat sebesar potongan yang disisipkan itu. “Checksum cocok tetapi file
berbeda di sini.” — jika digest SHA-256 cocok, file tidak berbeda; periksa
ulang bahwa file yang sama dibuka di kedua alat. Kecocokan CRC-32, di sisi lain, tidak membuktikan
apa pun terhadap tabrakan yang disengaja. “Kemiripan 0,4%, padahal hanya satu hal yang diubah.”
— jika suntingan berada di dalam kontainer terkompresi atau terenkripsi (ZIP,
zTXt PNG, volume terenkripsi), satu perubahan logis menulis ulang seluruh aliran terkompresi.
FAQ
Berapa batas ukurannya? — 200 MB per file untuk diff byte,
dibandingkan dalam irisan 1 MB. Tampilan yang diselaraskan blok memuat kedua file, sehingga
dibatasi 64 MB per sisi. Apakah potongan yang dipindahkan terdeteksi? — penyelaras mencocokkan blok
secara berurutan; potongan yang dipindahkan ke posisi lain tampak sebagai penghapusan dan
penyisipan isi yang sama, yang merupakan deskripsi yang benar meski agak kasar. Dapatkah menghasilkan file patch? — tidak, ini alat analisis; laporan CSV dan TXT
untuk dokumentasi dan tinjauan, bukan untuk menerapkan perubahan. Apa yang terjadi pada file? — tidak ada: tanpa server, tanpa penyimpanan, tanpa
analitik; tutup tab dan setiap byte input akan hilang.