
เขียนโปรแกรมภาษา Python ตอนที่ 56 เข้ารหัสข้อความ ด้วยเมธอด encode()
เมธอด endcode() เป็นเมธอดของสตริง ใช้สำหรับเข้ารหัสสตริงโดยเราสามารถกำหนดรูปแบบสำหรับการเข้ารหัสเองได้ แต่ถ้าเราไม่กำหนดรูปแบบ ไพธอนจะใช้ UTF-8 ในการเข้ารหัสโดยอัตโนมัติ โดยมีรูปแบบการใช้งานดังนี้
string.encode(encoding=encoding, errors=errors)
พารามิเตอร์ของเมธอด endcode() มีดังนี้
- encoding สตริงระบุรูปแบบที่จะใช้ในการเข้ารหัส (จะระบุหรือไม่ก็ได้) ถ้าไม่ระบุ ไพธอนจะใช้ UTF-8 สำหรับการเข้ารหัสเป็นค่าตั้งต้น
- errors สตริงสำหรับระบุข้อผิดพลาด (จะระบุหรือไม่ก็ได้) โดยค่าที่ใช้ได้มีดังนี้
- ‘backslashreplace’ ใช้เครื่องหมายแบ็คแสลชแทนตัวอักษรที่ไม่สามารถเข้ารหัสได้
- ‘ignore’ ไม่สนใจตัวอักษรที่ไม่สามารถเข้ารหัสได้
- ‘namereplace’ แทนที่ตัวอักษรด้วยข้อความสำหรับอธิบายตัวอักษรนั้น
- ‘strict’ (ค่าตั้งต้น) แจ้งว่าเกิดข้อผิดพลาด
- ‘replace’ แทนที่ตัวอักษรด้วยเครื่องหมายคำถาม
- ‘xmlcharrefreplace’ แทนที่ตัวอักษรด้วย xml character
ตัวอย่างการใช้งานเมธอด encode() แบบไม่ระบุพารามิเตอร์
mytext = "My name is Ståle" x = mytext.encode() print (x)

ตัวอย่างการใช้งานเมธอด encode() แบบระบุพารามิเตอร์
mytext = "My name is Ståle" x = mytext.encode("UTF-16") print (x)

ตัวอย่างการใช้งานเมธอด encode() แบบระบุ errors
mytext = "My name is Ståle" print(mytext.encode(encoding="ascii",errors="backslashreplace")) print(mytext.encode(encoding="ascii",errors="ignore")) print(mytext.encode(encoding="ascii",errors="namereplace")) print(mytext.encode(encoding="ascii",errors="replace")) print(mytext.encode(encoding="ascii",errors="xmlcharrefreplace")) print(mytext.encode(encoding="ascii",errors="strict"))
จากโค้ดตัวอย่าง เป็นการใช้งานเมธอด encode() โดยใช้ ascii encoding ผลลัพธ์จะแสดง error ที่แตกต่างกัน ตามพารามิเตอร์ errors ที่เราระบุ
