Alat pembangun · Perbandingan teks
Perbezaan Halimunan: Ruang Tanpa Pecah, Petikan Pintar dan Borang Unikod
· Bagaimana ia berfungsi
perbezaan teks unicode penyahpepijatan
Terangkan sebab baris yang kelihatan sama pada skrin boleh berbeza bait untuk bait, daripada ruang tidak putus dan petikan kerinting kepada aksara lebar sifar dan aksen terurai, dan cara mencarinya.
Dua baris yang kelihatan sama tetapi dibenderakan sebagai diubah — dibuka dengan fail terjemahan yang gagal disemak tanpa sebab yang kelihatan
Baris terjemahan boleh diterjemahkan sama seperti jirannya dan masih gagal perbandingan. Fon pelayar menyembunyikan sempadan titik kod, menggabungkan aksen dan menetapkan bentuk yang serupa kepada tanda baca yang berbeza. ToolAcre membandingkan rentetan JavaScript selepas sahaja kes yang dipilih atau transformasi ruang kosong, jadi baris yang dibenderakan boleh mendedahkan perbezaan teks sebenar.
Percaya lokasi, bukan andaian tentang watak itu. Salin baris suspek ke dalam editor yang mendedahkan titik kod atau pemeriksa heksadesimal. Perbezaan memberitahu anda baris mana yang berbeza; ia tidak memberi anotasi kedudukan dalaman atau menamakan nilai Unicode yang bertanggungjawab.
Ruang tanpa putus dan saudara mereka — menerangkan U+00A0 dan aksara ruang lain yang disisipkan oleh pemproses kata dan sebab ruang kosong tidak sepadan dengannya
U+00A0 ruang tidak pecah bukan aksara yang sama seperti U+0020 ruang biasa. Dalam mod biasa kekunci talian mereka kekal berbeza. Di bawah Abaikan ruang kosong, penggantian ruang kosong boleh mengurangkan larian tersebut kepada ruang biasa selepas pemangkasan, menjadikan beberapa perbezaan sedemikian hilang.
Pilihan itu ialah transformasi yang sepadan, bukan arahan pembersihan Unicode. Baris yang sama dipaparkan mengekalkan teks kiri asal, dan tiada dokumen yang diperbetulkan dihasilkan. Jika sistem penerbitan memerlukan jarak tanpa putus, padanan yang dinormalkan boleh menyembunyikan arahan reka letak yang disengajakan dan bukannya membetulkannya.
Mod ruang kosong boleh meruntuhkan ruang kosong Unicode; perbandingan biasa mengekalkan aksara yang berbeza
Apostrof lurus dan tanda petikan berbeza daripada borang pembukaan dan penutup tipografi. Abaikan huruf besar tidak mengubah tanda baca dan pengendalian ruang kosong tidak menulis semula petikan. Oleh itu, autopembetulan pemproses perkataan boleh menghasilkan penggantian baris penuh walaupun ayat itu dibaca dengan sepintas lalu.
Pilih tanda baca yang dimaksudkan berdasarkan destinasi. Kod sumber, kunci carian dan format data mungkin memerlukan ASCII aksara yang tepat, manakala salinan editorial mungkin lebih suka bentuk tipografi. Perbandingan membuktikan perbezaan, tetapi ia tidak mempunyai dasar untuk menentukan pihak mana yang betul.
Aksara lebar sifar dan arah — meliputi ruang lebar sifar, penyambung dan tanda dwiarah yang menjadikan tiada apa-apa lagi mengubah garisan
Ruang lebar sifar, pencantum dan tanda arah boleh menduduki kedudukan rentetan tanpa melukis glyph yang boleh dilihat. ToolAcre memaparkan input menggunakan kandungan teks, mengelakkan tafsiran HTML, tetapi pemaparan selamat itu tidak menjadikan titik kod tersembunyi kelihatan. Mereka masih mengambil bahagian dalam persamaan garis biasa.
Tingkah laku berarah juga boleh menjadikan susunan visual sebagai panduan yang tidak boleh dipercayai untuk susunan storan. Jangan salin serpihan bercampur arah yang mencurigakan ke dalam perintah shell atau pengecam semata-mata kerana ia kelihatan biasa. Periksa titik kod dan konteks sekeliling dalam alat yang dibina khas sebelum menggantikan apa-apa.
Loghat tersusun dan terurai — menerangkan NFC berbanding NFD normalisasi dengan huruf beraksen sebagai satu titik kod berbanding huruf asas ditambah tanda gabungan
Aksara beraksen boleh diwakili sebagai satu titik kod yang telah dirangka atau sebagai huruf asas diikuti dengan tanda gabungan. Repositori tidak mengandungi panggilan ke `normalize`, jadi borang yang kelihatan setara secara kanonik kekal berbeza rentetan JavaScript dan boleh menghasilkan baris keluarkan-tambah-tambah.
Suite ujian membuktikan padanan rentetan Unicode yang sama dan `café` berbeza daripada `cafe`; ia tidak menjanjikan perbandingan grapheme-aware. Oleh itu artikel ini mengelakkan tuntutan tentang perbandingan bait atau kesetaraan Unicode penuh. Algoritma baris menerima rentetan dan membandingkan kunci yang diubah dengan kesaksamaan yang ketat.
Aksen tersusun dan terurai kekal berbeza kerana alat ini tidak melakukan penormalan Unikod
Katakan baris sumber kelihatan tidak berubah tetapi dibenderakan. Mula-mula bandingkan dengan semua pilihan dimatikan, kemudian togol ruang kosong sahaja. Jika baris menjadi sama, periksa ruang dan ruang kosong tersembunyi. Jika ia masih berubah, periksa petikan, menggabungkan tanda dan titik kod lain daripada menaip semula baris berulang kali.
Pemeriksa watak boleh mendedahkan U+00A0 di mana ruang biasa dijangka. Gantikannya sahaja selepas mengesahkan keperluan format. Dalam kandungan yang diterjemahkan, ruang yang tidak pecah mungkin merupakan konvensyen tanda baca yang disengajakan dan carian dan penggantian yang luas boleh merosakkan tipografi yang betul di tempat lain.
Perkara ini tidak meliputi — perbandingan melaporkan bahawa garisan berbeza; ia tidak melakukan normalisasi Unicode untuk anda atau menggantikan aksara
Perbezaan teks tidak menormalkan NFC atau NFD, mengenal pasti boleh keliru, membuang tanda lebar sifar atau menghasilkan output yang dibaiki. Ia juga tidak membandingkan bait yang dikodkan. Itu adalah operasi berasingan dengan akibat yang tidak boleh dipilih oleh pembanding garis generik secara senyap.
Abaikan kes menggunakan JavaScript `toLowerCase`, manakala Abaikan trim ruang kosong dan memekatkan kekunci yang sepadan. Tiada operasi membekalkan pengumpulan tempatan atau semakan keselamatan Unicode. Gunakan output untuk mengecilkan penyiasatan, bukan untuk memperakui pengecam sebagai selamat atau setara dari segi bahasa.
Bawa pulang: percaya perbezaan di mata anda — membuat kesimpulan bahawa garisan yang dibenderakan ialah perbezaan yang nyata dan menunjukkan cara perbandingan Teks ToolAcre menentukan garisan yang hendak diperiksa
Apabila penglihatan dan perbezaan tidak bersetuju, anggap rentetan itu patut diperiksa. Algoritma tidak mempunyai model visual untuk ditipu oleh pembentukan fon; ia melihat kekunci baris. Had itu berguna kerana ia menghalang perbezaan tersembunyi daripada berlalu sahaja kerana pelayar menariknya sama.
Jalankan perbandingan biasa dahulu, rekod pilihan yang mengubah keputusan, dan periksa titik kod sebelum mengedit. Jejak bukti ini memisahkan normalisasi ruang kosong daripada tanda baca atau gubahan dan mengelakkan tabiat merosakkan menggantikan setiap aksara luar biasa dengan anggaran ASCII.