Rumah >pembangunan bahagian belakang >Tutorial Python >Mengapa Python Melemparkan 'UnicodeDecodeError: codec 'ascii' tidak dapat menyahkod bait' dan Bagaimana Saya Boleh Membetulkannya?
Pengendalian Unicode Python boleh menjadi punca ralat, terutamanya Pengecualian "UnicodeDecodeError: codec 'ascii' tidak boleh menyahkod bait". Ini berlaku apabila anda cuba menukar Python 2.x str yang mengandungi aksara bukan ASCII kepada rentetan Unikod tanpa menyatakan pengekodan rentetan asal.
Memahami Rentetan Unikod
Rentetan Unicode berbeza daripada rentetan Python biasa dan memegang kod titik Unicode, yang mewakili pelbagai jenis aksara daripada bahasa yang berbeza. Rentetan, sebaliknya, mengandungi teks yang dikodkan dalam pelbagai format (cth., UTF-8, UTF-16). Rentetan dinyahkodkan kepada Unikod, manakala rentetan Unikod dikodkan kepada rentetan.
Corak "Sandwic Unicode"
Input/Penyahkod:
Daging sandwic:
Output:
Elakkan sys.setdefaultencoding('utf8')
Godam ini hanya menutup isu Unicode dan mungkin menghalang pemindahan ke Python 3.0, di mana pengekodan lalai ialah UTF-8.
Python 3 Pertimbangan
Atas ialah kandungan terperinci Mengapa Python Melemparkan 'UnicodeDecodeError: codec 'ascii' tidak dapat menyahkod bait' dan Bagaimana Saya Boleh Membetulkannya?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!