Mengalih keluar Pemformatan Unikod xa0 dalam Python
Semasa menghuraikan HTML dengan Beautiful Soup, anda mungkin menemui aksara Unicode xa0 yang mewakili ruang. Mengalih keluar aksara ini dan menggantikannya dengan ruang biasa memerlukan perhatian terhadap pengekodan dan penyahkodan.
Dalam Python 2.7, anda boleh menggunakan perintah string.replace(u'xa0', u' ') untuk menggantikan xa0 dengan ruang. Walau bagaimanapun, pendekatan ini tersilap menukar aksara xa0 kepada "u".
Penyelesaian terletak pada pemahaman bahawa xa0 ialah ruang yang tidak pecah dalam Latin1 (ISO 8859-1). Untuk mengalih keluarnya, gunakan arahan berikut:
string = string.replace(u'\xa0', u' ')
Walau bagaimanapun, memanggil encode('utf-8') pada rentetan yang diubah suai tanpa menggunakan perintah replace() boleh menghasilkan aksara pelik seperti xc2. Ini kerana encode() menukar aksara unicode kepada UTF-8, mewakili xa0 sebagai jujukan dua bait, xc2 dan xa0.
Untuk memulihkan rentetan kepada keadaan yang dimaksudkan, gunakan arahan berikut selepas replace( ) operasi:
string = string.encode('utf-8')
Atas ialah kandungan terperinci Bagaimana untuk mengalih keluar Pemformatan Unicode \xa0 dengan betul dalam Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!