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

Byte Objects กับ String ใน Python


เนื่องจากคอมพิวเตอร์สามารถเก็บข้อมูลได้เพียงไบต์ เราจึงต้องแปลงรูปแบบข้อมูลต่างๆ ให้อยู่ในรูปแบบข้อมูลไบต์ ตัวอย่างเช่น รูปภาพที่จะกลายเป็นไบต์ จะถูกจัดเก็บด้วย PNG, JPEG เป็นต้น ในทำนองเดียวกัน เพลงจะถูกจัดเก็บเป็น .WAV, .MP3 เป็นต้น ซอฟต์แวร์ที่รับผิดชอบในการสร้างและจัดการรูปแบบนี้จะทำหน้าที่แปลงข้อมูลนี้เป็นไบต์เพื่อให้สามารถรับได้ เก็บไว้ ในไพ ธ อนอ็อบเจ็กต์ไบต์คือลำดับของไบต์ที่มนุษย์ไม่สามารถอ่านได้ แต่สตริงอักขระเป็นลำดับของอักขระที่มนุษย์สามารถอ่านได้ อักขระได้รับการเข้ารหัสก่อนที่จะเก็บไว้ในคอมพิวเตอร์เป็นไบต์

การเข้ารหัส

ก่อนเก็บสตริงอักขระลงในดิสก์ จะต้องเข้ารหัสก่อน ฟังก์ชั่นใน python เพื่อเข้ารหัสสตริงถูกเข้ารหัสดังที่แสดงด้านล่าง เรากำลังใช้การเข้ารหัส ASCII

ตัวอย่าง

print('Best Tutorials'.encode('ASCII'))

ผลลัพธ์

การเรียกใช้โค้ดข้างต้นทำให้เราได้ผลลัพธ์ดังต่อไปนี้ -

b'Best Tutorials'

ถอดรหัส

เมื่อไบต์ถูกอ่านจากดิสก์ เพื่อให้มนุษย์สามารถอ่านได้ จะต้องมีการถอดรหัส ใน python เราสามารถใช้ฟังก์ชันถอดรหัสเพื่อแปลงไบต์ที่เข้ารหัสเป็นสตริงได้

ตัวอย่าง

print(b'Best Tutorials'.decode('ASCII'))

ผลลัพธ์

การเรียกใช้โค้ดข้างต้นทำให้เราได้ผลลัพธ์ดังต่อไปนี้ -

Best Tutorials

ต่อไปนี้เป็นประเด็นสำคัญที่ควรทราบ

  • สตริงคือลำดับของอักขระ แต่อ็อบเจ็กต์ Bytes เป็นลำดับของไบต์
  • สตริงสามารถอ่านได้โดยมนุษย์เท่านั้น แต่ไบต์สามารถอ่านได้โดยเครื่อง
  • ไบต์จะถูกเก็บไว้ในดิสก์โดยตรง ในขณะที่อักขระจำเป็นต้องเข้ารหัสก่อนที่จะจัดเก็บไว้ในดิสก์