ในโปรแกรม 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
- เคยเขียน constructor ของ Class ใน java เป็น private มั๊ย - January 7th, 2010
- String in Java มีอะไรมากกว่าที่คิด - November 16th, 2009
- Swap - July 11th, 2009

