Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimanakah Saya Boleh Menukar Bait kepada String dalam Python 3?
Soalan ini timbul apabila mengendalikan data yang ditangkap daripada program luaran atau aliran input. Kami ingin mengekod data seperti rentetan Python biasa untuk pencetakan atau pemprosesan selanjutnya.
Pertimbangkan objek bait berikut:
>>> from subprocess import * >>> stdout = Popen(['ls', '-l'], stdout=PIPE).communicate()[0] >>> stdout b'total 0\n-rw-rw-r-- 1 thomas thomas 0 Mar 3 07:03 file1\n-rw-rw-r-- 1 thomas thomas 0 Mar 3 07:03 file2\n'
Untuk menukarnya kepada rentetan untuk tujuan pencetakan, nyahkod bait menggunakan pengekodan yang sesuai:
>>> stdout.decode("utf-8") '-rw-rw-r-- 1 thomas thomas 0 Mar 3 07:03 file1\n-rw-rw-r-- 1 thomas thomas 0 Mar 3 07:03 file2\n'
Walaupun UTF-8 ialah pengekodan biasa, adalah penting untuk menggunakan pengekodan yang sepadan dengan data sebenar. Kegagalan berbuat demikian boleh mengakibatkan keluaran bercelaru atau salah.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menukar Bait kepada String dalam Python 3?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!