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 ที่เราระบุ