Unicode คือ รหัสข้อมูลทางคอมพิวเตอร์ที่ใช้แทนอักขระ สามารถใช้แทนตัวอักษร ตัวเลข และสัญลักษณ์ต่างๆ ได้มากกว่า ASCII ซึ่งแทนอักขระได้แค่ 256 ตัวเท่านั้น(1Byte) Unicode สามารถใช้แทนตัวอักษร จากภาษาทั้งหมดทั่วโลก 24 ภาษา
ความแตกต่างระหว่าง Unicode กับ ASCII คือ Unicode จะใช้ข้อมูล 2 Byte ในการแทนอักขระ 1 ตัว จะแทนอักขระได้ทั้งหมด 2^16 = 65,536 ตัว แต่ ASCII จะใช้ข้อมูล 1 Byte ในการแทนอักขระ 1 ตัว จะแทนอักขระได้ทั้งหมด 2^8 = 256 ตัว ทําให้ Unicode สามารถแทนตัวอักษรได้ทุกภาษาบนโลก

หลักการของ Unicode คือ แต่ละตัวอักษรในภาษาต่างๆ จะมีรหัสเฉพาะของตน แต่รูปแบบของรหัสที่ใช้แทนค่าตัวอักษรนั้นมีหลายรูปแบบ เราจะเรียกว่า Unicode transformation format (UTF) การแทนรหัสในแบบที่ง่ายที่สุดคือ การใช้จํานวนบิตคงที่ คือจะใช้จํานวนบิต 32 bit(4 Byte/1 Character) โดยจะเรียกวิธีการแทนรหัสแบบนี้ว่า UTF-32 แต่การแทนค่าในรูแปบนี้จะทําให้เปลืองเนื้อที่ค่อนมาก แนวคิดการประหยัดพื้นที่การเก็บข้อมูลคือ ไม่จําเป็นต้องแทนรหัสตัวอักษรด้วยจํานวนบิทคงที่ เช่น การแทนรหัสตัวอักษรแบบ UTF-16 และ UTF-8
UTF-16 จะแทนรหัสตัวอักษรที่ใช้บ่อยๆ ด้วยรหัสขนาด 16 bit(2 Byte) ส่วนอักขระที่ใช้ไม่บ่อยจะแทนด้วยรหัสขนาด 32 bit(2-4 Byte)
UTF-8 จะแทนรหัสตัวอักษรที่ใช้บ่อยๆ ด้วยรหัสขนาด 8 bit(1 Byte) ส่วนอักขระที่ใช้ไม่บ่อยจะแทนด้วยรหัสขนาด 16 bit หรือ 32 bit (1-4 Byte)
การแทนรหัสแบบ UTF-8 จะใช้รหัสแทนอักขระตัวอักษรภาษาอังกฤษ เหมือนกับ ASCII
การแทนรหัสข้อมูลในรูปแบบต่างๆ สามารถดูได้จาก
รหัส ว. ที่ใช้ในการติดต่อสื่อสารทั่วไปว. 00 คอยก่อนให้คอยอยู่ ว. 01 ที่ทำงาน ว. 02 ที่พัก ว. 0 ขอทราบคำสั่งคำสั่ง ว. 1 อยู่ไหนอยู่ที่
ก่อนหน้านี้เราได้เรียนรู้กันไปแล้วว่าใน Template จะจัดการเกี่ยวกับการแสดงผล ซึ่งในบางครั้งเราจําเป็นต้องนํา Logic บางอย่างใส่เข้าไปใน Template ด้วย ซึ่งเราก็จะใส่ไปแบบนี้
swap คือ file ประเภทหนึ่งที่ทําหน้าที่คลาย ram โดยจะต่างจาก ram ตรงที่ เป็นไฟล์ที่ถูกเขียนบน HDD ซึ่งจะมีความเร็วน้อยกว่า ram ในกรณีที่ ram ไม่พอ เราสามารถสร้าง swap มาใช้เป็น ram สํารองได้