Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimanakah Saya Boleh Menormalkan Rentetan Unicode dalam Python untuk Memudahkan Aksara Komposit?
Menormalkan Unikod
Rentetan Unikod selalunya mengandungi aksara komposit yang diwakili sebagai jujukan dua atau lebih titik kod. Komposit ini kadangkala boleh dinormalisasi menjadi entiti titik kod tunggal yang lebih ringkas.
Masalah
Modul unicodedata menyediakan cara yang mudah untuk mengakses maklumat aksara Unikod. Walau bagaimanapun, melelaran secara manual ke atas aksara dan menggantikan komposit dengan setara bukan komposit boleh menjadi tidak cekap dan terdedah kepada ralat.
Penyelesaian
Untuk menormalkan rentetan Unicode dan menukar komposit kepada bentuk yang paling mudah, gunakan fungsi unicodedata.normalize() dengan 'NFC' (Normal Form Tersusun) pilihan. Borang ini menggantikan aksara komposit dengan rakan sejawatnya.
Contohnya:
>>> import unicodedata >>> char = "á" >>> unicodedata.normalize('NFC', char) == "á" True
Sebaliknya, pilihan 'NFD' (Borang Biasa Terurai) menukarkan aksara tersusun ke dalam bentuk terurai:
>>> char = "á" >>> unicodedata.normalize('NFD', char) == "a\u0301" True
Penormalan Tambahan Borang
Selain NFC dan NFD, terdapat dua bentuk normalisasi tambahan:
Contoh:
>>> char = "Ⅷ" >>> unicodedata.normalize('NFKC', char) == "VIII" True
Nota: Normalisasi bukan sentiasa boleh diterbalikkan; mengurai aksara kepada NFD dan kemudian menyusun semula kepada NFC mungkin tidak selalu menghasilkan urutan aksara asal.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menormalkan Rentetan Unicode dalam Python untuk Memudahkan Aksara Komposit?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!