Unicode

21 Jun 2016,
Share: 

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

Unicode VS ASCII

ความแตกต่างระหว่าง Unicode กับ ASCII คือ Unicode จะใช้ข้อมูล 2 Byte ในการแทนอักขระ 1 ตัว จะแทนอักขระได้ทั้งหมด 2^16 =  65,536 ตัว แต่ ASCII จะใช้ข้อมูล 1 Byte ในการแทนอักขระ 1 ตัว จะแทนอักขระได้ทั้งหมด 2^8 =  256 ตัว ทําให้ Unicode สามารถแทนตัวอักษรได้ทุกภาษาบนโลก

Image

หลักการของ Unicode

หลักการของ Unicode คือ แต่ละตัวอักษรในภาษาต่างๆ จะมีรหัสเฉพาะของตน แต่รูปแบบของรหัสที่ใช้แทนค่าตัวอักษรนั้นมีหลายรูปแบบ เราจะเรียกว่า Unicode transformation format (UTF) การแทนรหัสในแบบที่ง่ายที่สุดคือ การใช้จํานวนบิตคงที่ คือจะใช้จํานวนบิต 32 bit(4 Byte/1 Character)  โดยจะเรียกวิธีการแทนรหัสแบบนี้ว่า UTF-32 แต่การแทนค่าในรูแปบนี้จะทําให้เปลืองเนื้อที่ค่อนมาก แนวคิดการประหยัดพื้นที่การเก็บข้อมูลคือ ไม่จําเป็นต้องแทนรหัสตัวอักษรด้วยจํานวนบิทคงที่ เช่น การแทนรหัสตัวอักษรแบบ UTF-16 และ UTF-8

การแทนรหัสตัวอักษรแบบ UTF-16

UTF-16 จะแทนรหัสตัวอักษรที่ใช้บ่อยๆ ด้วยรหัสขนาด 16 bit(2 Byte) ส่วนอักขระที่ใช้ไม่บ่อยจะแทนด้วยรหัสขนาด 32 bit(2-4 Byte)

การแทนรหัสตัวอักษรแบบ UTF-8

UTF-8 จะแทนรหัสตัวอักษรที่ใช้บ่อยๆ ด้วยรหัสขนาด 8 bit(1 Byte) ส่วนอักขระที่ใช้ไม่บ่อยจะแทนด้วยรหัสขนาด 16 bit หรือ 32 bit (1-4 Byte)

การแทนรหัสแบบ UTF-8 จะใช้รหัสแทนอักขระตัวอักษรภาษาอังกฤษ เหมือนกับ ASCII

การแทนรหัสข้อมูลในรูปแบบต่างๆ สามารถดูได้จาก

Suggestion blogs

การใช้ Real time clock กับ Raspberry pi

ใน Raspberry pi จะไม่มี Real Time Clock มาให้ เมื่อเราปิดเครื่อง หรือไม่มีไฟฟ้าจ่ายให้กับ Raspberry pi วันที่และเวลาของเครื่องจะไม่เป็นปัจจุบัน วิธีที่จะทําให้เวลาของเครื่องเป็นวันที่ปัจจุบันมีด้วยกัน 2 วิธี ดังนี้ใช้ NTP server (จะต้องเชื่อมต่อกับเครือขาย internet)ใช้ Real time clock (ไม่ต้องเชื่อมต่อกับเครือขาย internet)ในบทความนี้เราจะอธิบายวิธีใช้ Real time clock เป็นฐานเวลาให้กับ Raspberry pi ก่อนอื่นมารู้จักกันก่อนว่ามันคืออะไร Real time clock เป็น module ฐานเวลา เนื่องจากตัว module ใช้พลังงานจากถ่านกระดุมขนาดเล็กทําให้ตัว module ทํางานอยู่ตลอดเวลาแม้ไม่ได้จ่ายไฟเลี้ยง

ESP8266 คืออะไร?

ESP8266 คืออะไร?ESP8266 คือ โมดูล wifi ภายในมีเฟิร์มแวร์ทํางานในลักษณะ Serial-to-WiFi ที่ช่วยให้อุปกรณ์อื่นๆ เช่น MCU สามารถต่อเข้ากับ internet ได้โดยใช้ port serial(ขา Tx, ขา Rx) และใช้คําสั่ง AT ในการควบคุมการทํางาน ต่อมาผู้พัฒนาได้พัฒนาเฟิร์มแวร์ NodeMcu ให้เป็น platform และใช้ภาษา LUA ในการเขียนโปรแกรม ด้วยความที่เป็น platform ที่สะดวกต่อการใช้งาน ทางผู้พัฒนาจึงจับ NodeMcu(ESP8266) ใส่เป็นบอร์ดหนึ่งใน Arduino IDE ด้วยซะเลย และได้พัฒนาให้สามารถเขียนโปรแกรมด้วยภาษา C/C++ สำหรับใครที่ใช้งาน Arduino อยู่แล้วสามารถใช้งานบน Arduino IDE ได้อย่างไม่อยากครับ

เรียนรู้ Extension Method

โดยปกติแล้ว Class ต่างๆจะมี Method เป็นของตัวเองอยู่แล้ว แต่ถ้าเราต้องการจะเขียน Method เพิ่มเติมเข้าไป ในกรณีที่เราเป็นเจ้าของ Source code เราสามารถแก้ไข Source code ของเราได้เลย แต่ถ้าในกรณีที่เราไม่ได้เป็นเจ้าของ Source code เรามีเพียงแค่ dll ไฟล์เท่านั้น เราจะทําอย่างไร? ใน .net 3.0 ขึ้นไป เราสามารถเพิ่ม Method เสริมให้กลับ Class ที่ถูกสร้างไว้แล้วได้ โดยจะเรียกว่า Extension Method


Copyright © 2019 - 2025 thiti.dev |  v1.54.0 |  Privacy policy | 

Build with ❤️ and Astro.

Github profile   Linkedin profile   Instagram   X profile   Nostr   Youtube channel   Telegram   Email contact   วงแหวนเว็บ