Mengenal pasti Pengekodan Fail dengan Tepat dalam C#
Menentukan pengekodan fail dengan tepat adalah penting untuk pemprosesan data yang betul. Walaupun StreamReader.CurrentEncoding
kadangkala gagal, kaedah yang lebih mantap melibatkan analisis Byte Order Mark (BOM). Pendekatan ini, sama seperti yang digunakan dalam Notepad , memberikan ketepatan yang lebih tinggi.
Memanfaatkan Tanda Pesanan Byte (BOM)
Kehadiran BOM dengan ketara membantu pengekodan pengenalan. Nilai BOM berikut sepadan dengan pengekodan khusus:
Jika tiada BOM dikesan, kod lalai kepada ASCII untuk mengelakkan ralat.
Pelaksanaan Kod C# untuk Analisis BOM
Kod C# berikut menunjukkan pengesanan pengekodan berasaskan BOM ini:
<code class="language-csharp">public static Encoding GetEncoding(string filename) { byte[] bom = new byte[4]; using (FileStream file = new FileStream(filename, FileMode.Open, FileAccess.Read)) { file.Read(bom, 0, 4); } // BOM analysis logic (see complete implementation below) return Encoding.ASCII; // Default to ASCII if no BOM is found }</code>
Fungsi ini membaca bait awal fail dengan cekap dan menggunakannya untuk menentukan pengekodan. Pelaksanaan lengkap analisis BOM kemudiannya akan menyusul, mengendalikan setiap kes BOM secara individu untuk mengembalikan objek Encoding
yang sesuai. Ini memastikan pengesanan pengekodan yang boleh dipercayai merentas pelbagai format fail teks.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menentukan Pengekodan Fail dengan Tepat dalam C#?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!