Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

การเข้ารหัส/ถอดรหัสใน Python แตกต่างกันอย่างไร


เพื่อแสดงสตริง Unicode เป็นสตริงของไบต์เรียกว่าการเข้ารหัส ในการแปลงสตริงของไบต์เป็นสตริง Unicode เรียกว่าการถอดรหัส โดยทั่วไป คุณจะเข้ารหัสสตริง Unicode เมื่อใดก็ตามที่คุณต้องการใช้สำหรับ IO เช่น ถ่ายโอนผ่านเครือข่าย หรือบันทึกลงในไฟล์ดิสก์ โดยทั่วไป คุณจะถอดรหัสสตริงไบต์ทุกครั้งที่ได้รับข้อมูลสตริงจากเครือข่ายหรือจากไฟล์ดิสก์

ในการเข้ารหัสสตริงโดยใช้การเข้ารหัสที่กำหนด ให้ทำดังนี้:

>>>u'æøå'.encode('utf8')'\xc3\x83\xc2\xa6\xc3\x83\xc2\xb8\xc3\x83\xc2\xa5'

ในการถอดรหัส astring (โดยใช้การเข้ารหัสเดียวกันกับที่ใช้ในการเข้ารหัส) คุณต้องเรียก decode(encoding) ตัวอย่างเช่น:

<ก่อนหน้า>>>>'\xc3\x83\xc2\xa6\xc3\x83\xc2\xb8\xc3\x83\xc2\xa5'.decode('utf8')u'\xc3\xa6\xc3\xb8\ xc3\xa5'

สตริงนี้ในการเข้ารหัส utf8 เทียบเท่ากับ u'æøå'