January 6th, 2010

Text File Encoding

No Comments », Uncategorized, by Fiat

     ในโปรแกรม Notepad  ตอนเรากำลัง save ไฟล์ จะเห็นว่ามีช่องๆนึง ให้เลือกรูปแบบการ Encoding  ซึ่งก็มีอยู่หลายแบบ การ Encoding เหล่านี้มีผลต่อไฟล์ ของเราอย่างไร

      การ Encoding จะนำมาแนะนำวันนี้มี 2 แบบคือ ANSI และ UTF-8 

     การ Encoding แบบ ANSI หรือ Windows-1252  เป็นการ Encoding ที่ใช้ข้อมูล 1 byte แทนตัวอักษร 1 ตัว    สามาถแสดง ตัวเลข ตัวอักษรภาษาอังกฤษและอักขระพิเศษต่างๆได้ แต่ไม่สามารถแสดง ตัวอักษรของภาษาอื่นๆ ได้ เช่น ไทย จีน ญี่ปุ่น  

     ส่วนการ Encoding แบบ UTF-8 เป็นวิธี Encoding ที่สามารถแสดงตัวอักษรได้หลายภาษา เช่น ญี่ปุ่น จีน ไทย  โดยตัวอีกษร 1 ตัวของการ encoding แบบนี้ จะมีขนาด 1-4  byte ขึ้นอยู่กับตัวอักษร เช่น ภาษาอังกฤษตัวละ 1 byte  ภาษาไทยตัวละ 3  byte   ภาษาจีนตัวละ 4 byte

    ถ้าเราลองเปิด ไฟล์ที่ encoding ด้วย utf-8 ด้วยโปรแกรม hex editor ต่างๆ จะเห็นว่า ไฟล์จะขึ้นต้นด้วย  ef  bb  bf  เป็นการบอกว่าไฟล์ๆนี้ encoding ด้วยรูปแบบ utf-8 

ในรูปนี้ ไฟล์ที่่มีข้อความว่า “หมา” จะมีขนาด 12 byte เพราะว่า ตัวอักษรภาษาไทย 1 ตัว มีขนาด 3 byte  บวกกับ ef bb bf อีก 3 byte ก็จะได้ 12

Last 5 posts by Fiat

Leave a Reply