HTML Unicode (UTF-8) อ้างอิง
Unicode Consortium
Unicode Consortium พัฒนามาตรฐาน Unicode เป้าหมายของพวกเขาคือการแทนที่ชุดอักขระที่มีอยู่ด้วย Unicode Transformation Format (UTF) มาตรฐาน
มาตรฐาน Unicode ประสบความสำเร็จและนำไปใช้ใน HTML, XML, Java, JavaScript, อีเมล, ASP, PHP ฯลฯ มาตรฐาน Unicode ยังได้รับการสนับสนุนในระบบปฏิบัติการจำนวนมากและเบราว์เซอร์ที่ทันสมัยทั้งหมด
Unicode Consortium ร่วมมือกับองค์กรพัฒนามาตรฐานชั้นนำ เช่น ISO, W3C และ ECMA
ชุดอักขระ Unicode
Unicode สามารถใช้งานได้โดยชุดอักขระต่างๆ การเข้ารหัสที่ใช้บ่อยที่สุดคือ UTF-8 และ UTF-16:
Character-set | Description |
---|---|
UTF-8 | A character in UTF8 can be from 1 to 4 bytes long. UTF-8 can represent any character in the Unicode standard. UTF-8 is backwards compatible with ASCII. UTF-8 is the preferred encoding for e-mail and web pages |
UTF-16 | 16-bit Unicode Transformation Format is a variable-length character encoding for Unicode, capable of encoding the entire Unicode repertoire. UTF-16 is used in major operating systems and environments, like Microsoft Windows, Java and .NET. |
เคล็ดลับ: อักขระ 128 ตัวแรกของ Unicode (ซึ่งสอดคล้องกับ ASCII แบบหนึ่งต่อหนึ่ง) จะถูกเข้ารหัสโดยใช้ octet เดียวที่มีค่าไบนารีเดียวกันกับ ASCII ทำให้ข้อความ ASCII ที่ถูกต้อง Unicode ที่เข้ารหัส UTF-8 นั้นถูกต้องเช่นกัน
HTML 4 รองรับ UTF-8 HTML 5 รองรับทั้ง UTF-8 และ UTF-16!
มาตรฐาน HTML5: Unicode UTF-8
เนื่องจากชุดอักขระใน ISO-8859 มีขนาดจำกัด และไม่รองรับในสภาพแวดล้อมหลายภาษา Unicode Consortium จึงพัฒนามาตรฐาน Unicode
Unicode Standard ครอบคลุม (เกือบ) อักขระ เครื่องหมายวรรคตอน และสัญลักษณ์ทั้งหมดในโลก
Unicode ช่วยให้ประมวลผล จัดเก็บ และขนส่งข้อความโดยไม่ขึ้นกับแพลตฟอร์มและภาษา
การเข้ารหัสอักขระเริ่มต้นใน HTML-5 คือ UTF-8
หากหน้าเว็บ HTML5 ใช้ชุดอักขระที่แตกต่างจาก UTF-8 ควรระบุไว้ในแท็ก <meta> เช่น:
ตัวอย่าง
<meta charset="ISO-8859-1">
ความแตกต่างระหว่าง Unicode และ UTF-8
Unicode เป็นชุดอักขระ UTF-8 กำลังเข้ารหัส .
Unicode คือรายการของอักขระที่มีตัวเลขทศนิยมเฉพาะ (จุดโค้ด) A = 65, B = 66, C = 67, ....
รายการเลขทศนิยมนี้แทนสตริง "hello": 104 101 108 108 111
การเข้ารหัสคือวิธีที่ตัวเลขเหล่านี้ถูกแปลเป็นเลขฐานสองเพื่อเก็บไว้ในคอมพิวเตอร์:
การเข้ารหัส UTF-8 จะเก็บ "สวัสดี" แบบนี้ (ไบนารี): 01101000 01100101 01101100 01101100 01101111
การ เข้ารหัสแปลตัวเลขเป็นไบนารี ชุดอักขระแปลอักขระเป็นตัวเลข
รหัสอักขระ HTML5 UTF-8
ด้านล่างนี้คือรายการโค้ดอักขระ UTF-8 บางตัวที่ HTML5 รองรับ:
Character codes | Decimal | Hexadecimal |
---|---|---|
C0 Controls and Basic Latin | 0-127 | 0000-007F |
C1 Controls and Latin-1 Supplement | 128-255 | 0080-00FF |
Latin Extended-A | 256-383 | 0100-017F |
Latin Extended-B | 384-591 | 0180-024F |
Spacing Modifiers | 688-767 | 02B0-02FF |
Diacritical Marks | 768-879 | 0300-036F |
Greek and Coptic | 880-1023 | 0370-03FF |
Cyrillic Basic | 1024-1279 | 0400-04FF |
Cyrillic Supplement | 1280-1327 | 0500-052F |
General Punctuation | 8192-8303 | 2000-206F |
Currency Symbols | 8352-8399 | 20A0-20CF |
Letterlike Symbols | 8448-8527 | 2100-214F |
Arrows | 8592-8703 | 2190-21FF |
Mathematical Operators | 8704-8959 | 2200-22FF |
Box Drawings | 9472-9599 | 2500-257F |
Block Elements | 9600-9631 | 2580-259F |
Geometric Shapes | 9632-9727 | 25A0-25FF |
Miscellaneous Symbols | 9728-9983 | 2600-26FF |
Dingbats | 9984-10175 | 2700-27BF |