คอมพิวเตอร์ Windows อินเทอร์เน็ต

อักขระยูนิโค้ดพิเศษ ปัญหาการแยกแยะตัวเลขและตัวอักษรที่คล้ายคลึงกันภายนอก

ผู้ใช้อินเทอร์เน็ตทุกคนที่พยายามกำหนดค่าฟังก์ชันอย่างใดอย่างหนึ่ง อย่างน้อยหนึ่งครั้งก็เห็นคำว่า "Unicode" ที่เขียนอยู่บนจอแสดงผล คุณจะพบว่ามันคืออะไรโดยการอ่านบทความนี้

คำนิยาม

การเข้ารหัส Unicode เป็นมาตรฐานการเข้ารหัสอักขระ นำเสนอโดยองค์กรไม่แสวงหาผลกำไร Unicode Inc. ในปี 1991 มาตรฐานนี้ได้รับการออกแบบเพื่อรวมอักขระประเภทต่างๆ ให้มากที่สุดเท่าที่จะมากได้ในเอกสารฉบับเดียว หน้าที่สร้างขึ้นบนพื้นฐานของมันอาจมีตัวอักษรและอักษรอียิปต์โบราณจาก ภาษาที่แตกต่างกัน(จากภาษารัสเซียเป็นภาษาเกาหลี) และ สัญญาณทางคณิตศาสตร์... ในกรณีนี้ อักขระทั้งหมดในการเข้ารหัสนี้จะแสดงโดยไม่มีปัญหา

เหตุผลในการสร้างสรรค์

กาลครั้งหนึ่งนานมาแล้ว ระบบครบวงจร"Unicode" การเข้ารหัสถูกเลือกตามความชอบของผู้เขียนเอกสาร ด้วยเหตุนี้ จึงมักจำเป็นต้องใช้ตารางต่างๆ เพื่ออ่านเอกสารฉบับเดียว บางครั้งต้องทำหลายครั้งซึ่งทำให้ชีวิตของผู้ใช้ทั่วไปซับซ้อนอย่างมาก ดังที่ได้กล่าวไปแล้ว องค์กรไม่แสวงหากำไร Unicode Inc. เสนอวิธีแก้ปัญหานี้ในปี 2534 ซึ่งเสนอการเข้ารหัสอักขระประเภทใหม่ มีวัตถุประสงค์เพื่อรวมมาตรฐานที่ล้าสมัยและหลากหลายเข้าด้วยกัน "Unicode" เป็นการเข้ารหัสที่ช่วยให้บรรลุสิ่งที่คิดไม่ถึงในขณะนั้น: เพื่อสร้างเครื่องมือที่รองรับอักขระจำนวนมาก ผลลัพธ์เกินความคาดหมายมากมาย - เอกสารปรากฏขึ้นพร้อม ๆ กันซึ่งประกอบด้วยข้อความภาษาอังกฤษและรัสเซีย ละติน และนิพจน์ทางคณิตศาสตร์

แต่การสร้างรหัสเดียวนำหน้าด้วยความจำเป็นในการแก้ไขปัญหาจำนวนหนึ่งซึ่งเกิดจากมาตรฐานที่หลากหลายที่มีอยู่แล้วในขณะนั้น ที่พบบ่อยที่สุดคือ:

  • ตัวอักษรพรายหรือ "krakozyabry";
  • ชุดอักขระจำกัด;
  • ปัญหาการแปลงการเข้ารหัส
  • การทำสำเนาแบบอักษร


ทัวร์ประวัติศาสตร์เล็ก ๆ

ลองนึกภาพว่าเป็นยุค 80 เทคโนโลยีคอมพิวเตอร์ยังไม่แพร่หลายและมีรูปแบบที่แตกต่างจากปัจจุบัน ในเวลานั้น OS แต่ละ OS มีลักษณะเฉพาะในแบบของตัวเอง และถูกแก้ไขโดยผู้สนใจแต่ละรายเพื่อตอบสนองความต้องการเฉพาะ ความจำเป็นในการแลกเปลี่ยนข้อมูลกลายเป็นการปรับแต่งเพิ่มเติมของทุกสิ่งในโลก ความพยายามที่จะอ่านเอกสารที่สร้างขึ้นภายใต้ระบบปฏิบัติการอื่นมักจะแสดงชุดอักขระที่เข้าใจยากบนหน้าจอ และเกมที่มีการเข้ารหัสเริ่มต้นขึ้น ไม่สามารถทำได้อย่างรวดเร็วเสมอไป และบางครั้งสามารถเปิดเอกสารที่จำเป็นได้หลังจากหกเดือนหรือหลังจากนั้น ผู้ที่แลกเปลี่ยนข้อมูลมักสร้างตารางการแปลงสำหรับตนเอง ดังนั้นงานของพวกเขาจึงเผยให้เห็นรายละเอียดที่น่าสนใจ: พวกเขาจะต้องสร้างขึ้นในสองทิศทาง: "จากของฉันถึงของคุณ" และในทางกลับกัน เครื่องไม่สามารถทำการคำนวณแบบผกผันซ้ำ ๆ ได้เพราะในคอลัมน์ด้านขวาคือแหล่งที่มาและในด้านซ้าย - ผลลัพธ์ แต่ไม่ใช่ในทางกลับกัน หากมีความจำเป็นต้องใช้ใด ๆ สัญลักษณ์พิเศษในเอกสารต้องเพิ่มพวกเขาก่อนแล้วจึงอธิบายให้คู่ค้าทราบถึงสิ่งที่เขาต้องทำเพื่อไม่ให้สัญลักษณ์เหล่านี้กลายเป็น "krakozyabry" และอย่าลืมว่าในการเข้ารหัสแต่ละครั้ง คุณต้องพัฒนาหรือใช้แบบอักษรของคุณเอง ซึ่งนำไปสู่การสร้างสำเนาจำนวนมากในระบบปฏิบัติการ

ลองนึกภาพด้วยว่าในหน้าแบบอักษรคุณจะเห็น 10 Times New Roman ที่เหมือนกันพร้อมคำอธิบายประกอบขนาดเล็ก: สำหรับ UTF-8, UTF-16, ANSI, UCS-2 ตอนนี้คุณเข้าใจหรือไม่ว่าจำเป็นต้องพัฒนามาตรฐานสากล?

“บิดาผู้สร้าง”

ต้นกำเนิดของ Unicode สามารถสืบย้อนไปถึงปี 1987 เมื่อ Joe Becker แห่ง Xerox พร้อมด้วย Lee Collins และ Mark Davis แห่ง แอปเปิ้ลเริ่มการวิจัยเกี่ยวกับการสร้างชุดอักขระสากลในทางปฏิบัติ ในเดือนสิงหาคม พ.ศ. 2531 Joe Becker ได้เผยแพร่ร่างข้อเสนอสำหรับระบบการเข้ารหัสหลายภาษาแบบ 16 บิตแบบหลายภาษา

ไม่กี่เดือนต่อมา คณะทำงาน Unicode ได้รับการขยายเพื่อรวม Ken Whistler และ Mike Kernegan จาก RLG, Glenn Wright จาก Sun Microsystems และอีกหลายคน ทำงานเบื้องต้นเกี่ยวกับมาตรฐานการเข้ารหัสทั่วไปให้เสร็จสิ้น


คำอธิบายทั่วไป

Unicode ขึ้นอยู่กับแนวคิดของตัวละคร คำจำกัดความนี้เข้าใจว่าเป็นปรากฏการณ์นามธรรมที่มีอยู่ในรูปแบบการเขียนเฉพาะและรับรู้ผ่านกราฟ ("ภาพเหมือน") อักขระแต่ละตัวระบุไว้ใน "Unicode" รหัสเฉพาะเป็นของบล็อกเฉพาะของมาตรฐาน ตัวอย่างเช่น มีกราฟ B ทั้งในตัวอักษรภาษาอังกฤษและรัสเซีย แต่ใน Unicode จะตรงกับอักขระ 2 ตัวที่แตกต่างกัน การแปลงถูกนำไปใช้กับการเปลี่ยนแปลง กล่าวคือ แต่ละรายการมีคำอธิบายโดยคีย์ฐานข้อมูล ชุดคุณสมบัติ และชื่อเต็ม

ประโยชน์ของ Unicode

การเข้ารหัส Unicode แตกต่างจากรุ่นอื่นๆ เนื่องจากมีอักขระจำนวนมากสำหรับ "การเข้ารหัส" ความจริงก็คือว่ารุ่นก่อนมี 8 บิตนั่นคือรองรับ 28 ตัวอักษรแต่ การพัฒนาใหม่มีตัวละครอยู่แล้ว 216 ตัวซึ่งเป็นก้าวที่ยิ่งใหญ่ ทำให้สามารถเข้ารหัสตัวอักษรที่มีอยู่และตัวอักษรทั่วไปเกือบทั้งหมดได้

ด้วยการถือกำเนิดของ "Unicode" ไม่จำเป็นต้องใช้ตารางการแปลง เนื่องจากเป็นมาตรฐานเดียว จึงขจัดความต้องการของพวกเขาออกไป ในทำนองเดียวกัน "krakozyabry" ได้จมลงสู่การลืมเลือน - มาตรฐานเดียวที่ทำให้พวกเขาเป็นไปไม่ได้ รวมทั้งขจัดความจำเป็นในการสร้างแบบอักษรที่ซ้ำกัน

การพัฒนา Unicode

แน่นอน ความคืบหน้าไม่หยุดนิ่ง และผ่านไป 25 ปีนับตั้งแต่การนำเสนอครั้งแรก อย่างไรก็ตาม การเข้ารหัส Unicode ยังคงรักษาตำแหน่งของตนไว้อย่างดื้อรั้น ในหลาย ๆ ด้าน สิ่งนี้เกิดขึ้นได้เนื่องจากการที่มันถูกนำไปใช้อย่างง่ายดายและแพร่หลาย โดยได้รับการยอมรับว่าเป็นนักพัฒนาซอฟต์แวร์ที่เป็นกรรมสิทธิ์ (แบบชำระเงิน) และโอเพ่นซอร์ส


ในเวลาเดียวกัน เราไม่ควรทึกทักเอาเองว่าวันนี้การเข้ารหัส Unicode แบบเดียวกันพร้อมให้เราใช้งานได้เมื่อหนึ่งในสี่ของศตวรรษที่ผ่านมา บน ช่วงเวลานี้เวอร์ชันของมันถูกเปลี่ยนเป็น 5.х.х และจำนวนอักขระที่เข้ารหัสเพิ่มขึ้นเป็น 231 ตัว ความสามารถในการใช้อักขระที่มากขึ้นถูกละทิ้งเพื่อให้ยังคงรองรับ Unicode-16 (การเข้ารหัสซึ่งจำกัดจำนวนสูงสุดไว้ที่ 216). ตั้งแต่เริ่มก่อตั้งจนถึงเวอร์ชัน 2.0.0 "Unicode Standard" ได้เพิ่มจำนวนอักขระที่มีอยู่เกือบสองเท่า การเติบโตของโอกาสยังคงดำเนินต่อไปในปีต่อๆ ไป โดยเวอร์ชัน 4.0.0 นั้นจำเป็นต้องเพิ่มมาตรฐานของตัวเองซึ่งทำเสร็จแล้ว เป็นผลให้ "Unicode" ได้รับรูปแบบที่เรารู้จักในปัจจุบัน


Unicode มีอะไรอีกบ้าง?

นอกเหนือจากสัญลักษณ์จำนวนมากที่เติบโตอย่างต่อเนื่องแล้ว ยังมีคุณสมบัติที่มีประโยชน์อีกอย่างหนึ่งอีกด้วย นี่คือสิ่งที่เรียกว่าการทำให้เป็นมาตรฐาน แทนที่จะเลื่อนดูทั้งอักขระในเอกสารทีละอักขระและแทนที่ไอคอนที่เหมาะสมจากตารางค้นหา หนึ่งในอัลกอริธึมการทำให้เป็นมาตรฐานที่มีอยู่จะถูกใช้ เรากำลังพูดเรื่องอะไรอยู่?

แทนที่จะเปลืองทรัพยากรในการคำนวณไปกับการตรวจสอบสัญลักษณ์เดียวกันเป็นประจำ ซึ่งอาจคล้ายกันในตัวอักษรต่างกัน มีการใช้อัลกอริธึมพิเศษ ช่วยให้คุณสามารถนำอักขระที่คล้ายกันในคอลัมน์ที่แยกต่างหากของตารางการแทนที่และอ้างอิงถึงอักขระเหล่านี้ แทนที่จะตรวจสอบข้อมูลทั้งหมดซ้ำแล้วซ้ำอีก

สี่อัลกอริธึมดังกล่าวได้รับการพัฒนาและดำเนินการ ในแต่ละคน การเปลี่ยนแปลงเกิดขึ้นตามหลักการที่กำหนดไว้อย่างเคร่งครัดซึ่งแตกต่างจากที่อื่น ดังนั้นจึงเป็นไปไม่ได้ที่จะตั้งชื่อว่าข้อใดข้อหนึ่งที่มีประสิทธิภาพมากที่สุด แต่ละรายการได้รับการพัฒนาเพื่อตอบสนองความต้องการเฉพาะ มีการนำไปใช้งานและใช้งานได้สำเร็จ


การกระจายมาตรฐาน

กว่า 25 ปีของประวัติศาสตร์ การเข้ารหัส Unicode น่าจะใช้กันอย่างแพร่หลายมากที่สุดในโลก โปรแกรมและเว็บเพจได้รับการปรับแต่งให้เข้ากับมาตรฐานนี้เช่นกัน ความจริงที่ว่า Unicode ถูกใช้โดยทรัพยากรอินเทอร์เน็ตมากกว่า 60% ในปัจจุบันสามารถบ่งบอกถึงความกว้างของแอปพลิเคชัน

ตอนนี้คุณรู้แล้วว่ามาตรฐาน Unicode เกิดขึ้นเมื่อใด มันคืออะไร คุณรู้และจะสามารถชื่นชมความสำคัญอย่างเต็มที่ของการประดิษฐ์ที่ทำโดยกลุ่มผู้เชี่ยวชาญจาก Unicode Inc. เมื่อกว่า 25 ปีที่แล้ว

คุณต้องการโฮสต์หรือโดเมนหรือไม่? คลิกที่นี่! คุณต้องการสร้างร้านค้าออนไลน์หรือไม่? คลิกที่นี่! (Shopify)

บางครั้งเมื่อเขียนโพสต์ จำเป็นต้องมีอักขระ (เครื่องหมาย) ที่ไม่ได้อยู่บนแป้นพิมพ์ ในสถานการณ์เช่นนี้ ตารางอักขระ Unicode จะช่วยคุณได้ วันนี้เราจะมาพิจารณา บริการออนไลน์ซึ่งอักขระ Unicode ทั้งหมดจะถูกจัดกลุ่ม ...

ตารางอักขระ Unicode

สำหรับผู้ที่สนใจเบื้องหลังของรูปลักษณ์ Unicode- นี่คือลิงค์ไปยังวิกิพีเดีย

ดังนั้นมากำหนดความสนใจของเราใน อักขระยูนิโค้ด- นี่คือการใช้งานของพวกเขาในบทความของพวกเขาบนเว็บไซต์ของตน
ไปที่เพจกันก่อนเลย อักขระยูนิโค้ดบริการ:



มาดูอินเทอร์เฟซของบริการนี้กันสักหน่อย ที่ด้านบนสุดมีช่องค้นหาในนั้นก็เพียงพอที่จะขับในชื่อขององค์ประกอบที่คุณกำลังมองหาเช่น: "ลูกศร" หรือ "จุดไข่ปลา" หลังจากป้อนให้คลิกที่การค้นหาเพื่อรับผลลัพธ์ .

ถัดจากการค้นหาจะมีตัวสลับภาษาของหน้า

ด้านล่างนี้คือรายการของสัญลักษณ์ที่ร้องขอบ่อยครั้ง บางทีในหมู่พวกมันอาจมีสัญลักษณ์ที่คุณต้องการ ในกรณีนี้ เพียงคลิกที่สัญลักษณ์เพื่อไปที่หน้าพร้อมข้อมูลโดยละเอียดเกี่ยวกับสัญลักษณ์นั้น

ส่วนหลักของหน้าถูกครอบครองโดย ตารางอักขระ Unicodeเพื่อการค้นหาที่สะดวกยิ่งขึ้น คุณยังสามารถคลิกที่ "Control Characters" เพื่อเลือกกลุ่มอักขระ เช่น "Greek Characters" หากคุณต้องการแทรกอักขระ Greek

ค้นหารายการที่คุณต้องการในตารางอักขระ Unicode

ตัวอย่างเช่น ลองใช้การค้นหาและป้อนคำว่า "ลูกศร" ลงไปแล้วกดค้นหา


ในหน้าผลการค้นหา เรากำลังมองหาสัญลักษณ์ที่เราต้องการและคลิกเพื่อไปที่หน้า รายละเอียดข้อมูลเกี่ยวกับเขา.


ในเพจ อักขระ Unicodeเรามีความสนใจในโค้ด HTML หรือโค้ด Mnemonic ของมัน ทั้งคู่สามารถใช้บนหน้าเว็บ การทำเช่นนี้ ให้คัดลอกโค้ดและวางในตำแหน่งที่ถูกต้องในมาร์กอัป HTML เบราว์เซอร์จะตีความและแสดงเป็นสัญลักษณ์บน หน้า.

โปรดทราบว่าในหน้าอักขระ Unicode มีแบบอักษรให้เลือก ทดสอบว่าแบบอักษรของคุณจะแสดงด้วย Verdana, Arial (และแบบอักษรเว็บอื่นๆ อย่างไร) เสมอ อักขระบางตัวไม่ได้รับการสนับสนุน

(รหัสตั้งแต่ 0 ถึง 127) เช่น หนึ่งไบต์เข้ารหัสตัวอักษรละติน ตัวเลข และอักขระพิเศษ ตัวอักษรรัสเซีย (ซิริลลิก) แสดงด้วยรหัส 16 บิต (สองไบต์):

110XXXXX 10XXXXXX,

โดยที่ X หมายถึงเลขฐานสองสำหรับวางรหัสอักขระตามตาราง UNICODE.

Unicode (อังกฤษ Unicode) เป็นมาตรฐานการเข้ารหัสอักขระที่ช่วยให้สามารถแสดงอักขระในภาษาเขียนเกือบทั้งหมด อักขระ Unicode ถูกเข้ารหัสเป็นจำนวนเต็มที่ไม่ได้ลงนาม ตัวเลขเหล่านี้จะเรียกว่ารหัสอักขระ Unicode หรือเรียกง่ายๆ ว่า UNICODE... Unicode มีการแสดงอักขระหลายรูปแบบในคอมพิวเตอร์: UTF-8, UTF-16 (UTF-16BE, UTF-16LE) และ UTF-32 (UTF-32BE, UTF-32LE)... (รูปแบบการแปลง Unicode ภาษาอังกฤษ - UTF)

พิจารณาวิธีการเข้ารหัสใน UTF-8จดหมาย NS... ของเธอ UNICODE- 1046 10 หรือ 0416 16 หรือ 10000 010110 2. UNICODEในระบบไบนารี จะแบ่งออกเป็นสองส่วน: บิตซ้ายห้าบิตและบิตขวาหกบิต ด้านซ้ายบุ๋มเป็นไบต์พร้อมสัญลักษณ์ 110 รหัสสองไบต์ UTF-8: 110 10000 สองบิตถูกกำหนดไว้ทางด้านขวา 10 สัญญาณของความต่อเนื่องของรหัสหลายไบต์: 10 010110. รหัสอักษรตัวสุดท้าย NSวี UTF-8ดูเหมือนว่า:

110 10000 10 010110 2
หรือ D0 96 16

ดังนั้น ตัวอักษรรัสเซียจึงถูกเข้ารหัสสองครั้ง: ตัวแรกเป็น 11 บิต UNICODEแล้วเปลี่ยนเป็น UTF-8 แบบ 16 บิต

ในตารางด้านล่างนอกเหนือจากรหัส UNICODEและ UTF-8ในรูปแบบเลขฐานสิบหก จะได้รับรหัส UTF-8ในรูปแบบทศนิยมและสำหรับการเปรียบเทียบรหัสซิริลลิกในการเข้ารหัส CP-1251หรือเรียกอีกอย่างว่า วินดอฟ-1251.

ตารางรหัส Cyrillic UTF-8
เครื่องหมายUNICODEUTF-8CP-1251
HexสิบHexสิบ
NS0410 1040 D090208 144 192
NS0411 1041 D091208 145 193
วี0412 1042 D092208 146 194
NS0413 1043 D093208 147 195
NS0414 1044 D094208 148 196
อี0415 1045 D095208 149 197
NS0416 1046 D096208 150 198
Z0417 1047 D097208 151 199
และ0418 1048 D098208 152 200
ไทย0419 1049 D099208 153 201
ถึง041A1050 D09A208 154 202
หลี่041B1051 D09B208 155 203
NS041C1052 D09C208 156 204
NS041D1053 D09D208 157 205
อู๋041E1054 D09E208 158 206
NS041F1055 D09F208 159 207
NS0420 1056 D0A0208 160 208
กับ0421 1057 D0A1208 161 209
NS0422 1058 D0A2208 162 210
มี0423 1059 D0A3208 163 211
NS0424 1060 D0A4208 164 212
NS0425 1061 D0A5208 165 213
0426 1062 D0A6208 166 214
ชม0427 1063 D0A7208 167 215
NS0428 1064 D0A8208 168 216
SCH0429 1065 D0A9208 169 217
NS042A1066 D0AA208 170 218
NS042B1067 D0AB208 171 219
NS042C1068 D0AC208 172 220
NS042D1069 D0AD208 173 221
NS042E1070 D0AE208 174 222
ฉัน042F1071 D0AF208 175 223
NS0430 1072 D0B0208 176 224
NS0431 1073 D0B1208 177 225
วี0432 1074 D0B2208 178 226
NS0433 1075 D0B3208 179 227
NS0434 1076 D0B4208 180 228
อี0435 1077 D0B5208 181 229
NS0436 1078 D0B6208 182 230
NS0437 1079 D0B7208 183 231
และ0438 1080 D0B8208 184 232
NS0439 1081 D0B9208 185 233
ถึง043A1082 D0BA208 186 234
l043B1083 D0BB208 187 235
NS043C1084 D0BC208 188 236
NS043D1085 D0BD208 189 237
อู๋043E1086 D0BE208 190 238
NS043F1087 D0BF208 191 239
NS0440 1088 D180209 128 240
กับ0441 1089 D181209 129 241
NS0442 1090 D182209 130 242
ที่0443 1091 D183209 131 243
NS0444 1092 D184209 132 244
NS0445 1093 D185209 133 245
0446 1094 D186209 134 246
ชม0447 1095 D187209 135 247
NS0448 1096 D188209 136 248
SCH0449 1097 D189209 137 249
NS044A1098 D18A209 138 250
NS044B1099 D18B209 139 251
NS044C1100 D18C209 140 252
NS044D1101 D18D209 141 253
NS044E1102 D18E209 142 254
ฉัน044F1103 D18F209 143 255
สัญลักษณ์ที่อยู่นอกกฎทั่วไป
โย0401 1025 D001208 101 168
อี0451 1025 D191209 145 184

บางครั้ง คุณจำเป็นต้องเพิ่มไอคอนในงานออกแบบของคุณ แต่ไม่อยากใส่รูปภาพเพิ่มเติมหรือแบบอักษรของไอคอนทั้งหมด เช่น Font Awesome ใช่ไหม เราก็มีข่าวดีสำหรับคุณ - มีคลังไอคอนและสัญลักษณ์มากมายที่พร้อมใช้งานในเบราว์เซอร์ของคุณแล้ว เรียกว่า Unicode และเป็นมาตรฐานที่กำหนด ตัวระบุที่ไม่ซ้ำสำหรับสัญลักษณ์และไอคอนที่เพิ่มมากขึ้นเรื่อยๆ (ปัจจุบันมีมากกว่า 110,000 รายการ)

นี่ไม่ได้หมายความว่าคุณมีไอคอนให้เลือกหลายแสนไอคอน ขึ้นอยู่กับเบราว์เซอร์ที่แสดง และใช้แบบอักษรที่ติดตั้งบนระบบเพื่อทำสิ่งนี้ ในบทความนี้ เราได้รวบรวมชุดอักขระจำนวนหนึ่งที่พร้อมใช้งานบน Windows, Linux, OS X, Android และ IOS คุณสามารถใช้มันในการออกแบบของคุณวันนี้!

เคล็ดลับ: ซึ่งจะอธิบายทุกอย่างที่ควรรู้เกี่ยวกับการเข้ารหัสและ Unicode ซึ่งเราแนะนำให้นักพัฒนาซอฟต์แวร์ทุกคนอ่าน

วิธีใช้ไอคอนเหล่านี้

ไอคอนที่แสดงในตารางด้านล่างเป็นสัญลักษณ์ทั่วไปที่คุณสามารถคัดลอกและวางได้เหมือนกับว่าเป็นตัวอักษรของตัวอักษร แต่ถ้าการเข้ารหัสที่ใช้ในการบันทึกไฟล์ HTML / CSS ไม่ใช่ UTF-8พวกเขาจะไม่ปรากฏ นี่คือเหตุผลที่เราแนะนำโค้ดหลีก HTML ที่จะใช้งานได้ตลอดเวลา นี่คือสิ่งที่คุณต้องทำเพื่อใช้ไอคอนเหล่านี้:

  • ค้นหาไอคอนที่คุณชอบ เราได้จัดเตรียมตัวอย่างขนาดเล็กและขนาดใหญ่
  • คัดลอกรหัส
  • วางลงใน HTML เป็นข้อความธรรมดา ใน CSS คุณสามารถใช้มันเป็นค่าคุณสมบัติ เนื้อหา... ใน JS, PHP และภาษาการเขียนโปรแกรมอื่นๆ คุณสามารถใช้เป็นข้อความธรรมดาในสตริงได้
  • คุณสามารถปรับแต่งไอคอนได้โดยการตั้งค่าขนาดแบบอักษร สี ข้อความและเงาเหมือนกับข้อความปกติ

ไอคอน

ชื่อดูตัวอย่างรหัส
ยิ้ม
ป้ายเตือน
น้ำพุร้อน
วีลแชร์
รีไซเคิล
8-Ball
ไฟฟ้าแรงสูง
ไวท์สตาร์
ดาวสีดำ
หัวใจสีขาว
ใจดำ
กาแฟ
เครื่องบิน
นาฬิกาทราย
นาฬิกา
กรรไกรดำ
กรรไกรขาว
มงกุฎ
สมอ
ข้าม
วงกลมขาวดำ
โน้ตแปด
บีมแปดโน้ต
เครื่องหมายดอกจันสี่แฉก
วงกลมสีขาวดาว
ไวท์สตาร์
ดาวสี่แฉกสีขาว
ดาวสี่แฉกสีดำ
กาเครื่องหมายกล่องลงคะแนน
เครื่องหมายถูก
เครื่องหมายกากบาท
ดินสอ
เขียนมือ
หญิง
ชาย
โทรศัพท์สีดำ
โทรศัพท์สีขาว
ซองจดหมาย
ที่ตั้งโทรศัพท์

ลูกศร Unicode

ชื่อดูตัวอย่างรหัส
ลูกศรซ้าย
ลูกศรขวา
ลูกศรขึ้น
ลูกศรชี้ลง
ลูกศรขวาซ้าย
ลูกศรขึ้นลง
ลูกศรขวาและซ้าย
ลูกศรขึ้นและลง
ลูกศรลง-ซ้าย 90 องศา
ลูกศรลง-ขวา 90 องศา
ลูกศรขึ้น-ซ้าย 90 องศา
ลูกศรขวา 90 องศา
North West Arrow To Corner
ลูกศรตะวันออกเฉียงใต้สู่มุม
ลูกศรซ้ายไปที่แถบ
ลูกศรชี้ขวาไปที่แถบ
ลูกศรครึ่งวงกลมทวนเข็มนาฬิกา
ลูกศรครึ่งวงกลมตามเข็มนาฬิกา
ลูกศรวงกลมทวนเข็มนาฬิกา
ลูกศรวงกลมตามเข็มนาฬิกา
ลูกศรชี้ขวาหัวกว้าง
ลูกศรซิกแซกลง
ลูกศรทิศตะวันตกเฉียงเหนือ
ลูกศรตะวันออกเฉียงใต้หนัก
ลูกศรขวาหนัก
ลูกศรตะวันออกเฉียงเหนือหนัก
ลูกศรชี้ไปทางขวา
ลูกศรชี้ไปทางซ้าย
หัวลูกศรขวาสีดำ
ลูกศรซ้ายสีขาว
ลูกศรขวาสีขาว
เครื่องหมายคำพูดมุมซ้าย « « «
เครื่องหมายคำพูดมุมขวา » » »
ตัวชี้สีดำขวา
ตัวชี้สีดำด้านซ้าย
ตัวชี้สีดำ
ตัวชี้สีดำลง
ตัวชี้สีขาวขวา
ตัวชี้สีขาวซ้าย
ตัวชี้สีขาวขึ้น
ตัวชี้สีขาวลง
ธนูศร

อักขระพิเศษในยูนิโค้ด

สกุลเงินยูนิโค้ด

ไอคอนสภาพอากาศ

ชื่อดูตัวอย่างรหัส
ระดับ ° ° °
แดดน้อย
บิ๊กซัน
คลาวด์
ร่ม
เกล็ดหิมะ 1
เกล็ดหิมะ 2
เกล็ดหิมะ 3

ตัวชี้ Unicode

ชื่อดูตัวอย่างรหัส
ตัวชี้ซ้ายสีดำ
ตัวชี้ ขวา สีดำ
ตัวชี้ซ้ายสีขาว
ตัวชี้ขึ้นสีขาว
ตัวชี้ ขวา สีขาว
ตัวชี้ลงสีขาว

ราศีในยูนิโคด

ชื่อดูตัวอย่างรหัส
ราศีเมษ
ราศีพฤษภ
ฝาแฝด
มะเร็ง
สิงโต
ราศีกันย์
ตาชั่ง
แมงป่อง
ราศีธนู
ราศีมังกร
ราศีกุมภ์
ปลา

สัญลักษณ์การ์ด Unicode

ชื่อดูตัวอย่างรหัส
Clubs Black
Hearts Black
เพชรสีดำ
โพดำ
คลับไวท์
หัวใจสีขาว
เพชรขาว
โพดำขาว

ตัวหมากรุกในยูนิโค้ด

ชื่อดูตัวอย่างรหัส
คิงไวท์
ราชินีขาว
Rook สีขาว
บิชอปไวท์
อัศวิน ไวท์
เบี้ยขาว
คิงแบล็ค
ราชินีดำ
โกงดำ
บิชอปแบล็ก
อัศวินดำ
จำนำสีดำ

เกมลูกเต๋า

ชื่อดูตัวอย่างรหัส
ทอยลูกเต๋า
ลูกเต๋าม้วนสอง
ลูกเต๋าม้วนสาม
ลูกเต๋าม้วนสี่
ลูกเต๋าทอยห้า
ลูกเต๋าม้วนหก

สัญลักษณ์ทางคณิตศาสตร์ Unicode

ชื่อดูตัวอย่างรหัส
อินฟินิตี้
บวก ลบ ± ± ±
น้อยกว่าหรือเท่ากับ
มากกว่าหรือเท่ากับ
ไม่เท่ากับ
แผนก ÷ ÷ ÷
คูณ x × × ×
คูณหนัก x
ตัวยกหนึ่ง ¹ ¹ ¹
ตัวยกสอง ² ² ²
ตัวยกสาม ³ ³ ³
Circled Plus
วงกลมคูณ
ตรรกะและ
ตรรกะOR
เดลต้า
พาย
ซิกม่า (SUM)
โอเมก้า Ω Ω Ω
ชุดเปล่า
มุม
ขนาน
ตั้งฉาก
เกือบเท่ากับ
สามเหลี่ยม
วงกลม
สี่เหลี่ยม

เศษส่วน

ชื่อดูตัวอย่างรหัส
หนึ่งไตรมาส (1/4) ¼ ¼ ¼
ครึ่งเดียว (1/2) ½ ½ ½
สามในสี่ (3/4) ¾ ¾ ¾
หนึ่งในสาม (1/3)
สองในสาม (2/3)
หนึ่งแปด (1/8)
สามแปด (3/8)
ห้าแปด (5/8)
เซเว่นเอทส์ (7/8)

ตัวเลขโรมันใน Unicode

ชื่อดูตัวอย่างรหัส
เลขโรมันหนึ่ง
เลขโรมันสอง
เลขโรมันสาม
เลขโรมันสี่
เลขโรมันห้า
เลขโรมันหก
เลขโรมันเจ็ด
เลขโรมันแปด
เลขโรมันเก้า
เลขโรมันสิบ
เลขโรมันสิบเอ็ด
เลขโรมันสิบสอง

มีความแตกต่างบางประการในการแสดงสัญลักษณ์เหล่านี้ในต่างกัน ระบบปฏิบัติการ... ซึ่งเกิดจากตระกูลฟอนต์ต่างๆ ที่ใช้ นอกจากนี้ iOS และ Android จะแทนที่อักขระ Unicode บางตัวด้วยอิโมจิ ดังนั้น โปรดตรวจสอบอักขระที่เพิ่มเข้าไปเพื่อให้แน่ใจว่าไม่มีอักขระดังกล่าว และไอคอนต่างๆ จะแสดงตามที่ตั้งใจไว้

องค์ประกอบของพื้นที่โค้ดที่แสดงจำนวนเต็มไม่เป็นลบ ตระกูลของการเข้ารหัสกำหนดการแสดงเครื่องของลำดับรหัส UCS

รหัส Unicode แบ่งออกเป็นหลายส่วน พื้นที่ที่มีรหัส U + 0000 ถึง U + 007F มีอักขระ ASCII พร้อมรหัสที่เกี่ยวข้อง ถัดไปเป็นพื้นที่ของสัญลักษณ์ของสคริปต์ เครื่องหมายวรรคตอน และสัญลักษณ์ทางเทคนิคต่างๆ รหัสบางส่วนสงวนไว้สำหรับใช้ในอนาคต ภายใต้อักขระ Cyrillic พื้นที่ของอักขระที่มีรหัสจาก U + 0400 ถึง U + 052F จาก U + 2DE0 ถึง U + 2DFF จาก U + A640 ถึง U + A69F จะได้รับการจัดสรร (ดู Cyrillic ใน Unicode)

ข้อกำหนดเบื้องต้นสำหรับการสร้างและพัฒนา Unicode

เนื่องจากในระบบคอมพิวเตอร์จำนวนหนึ่ง (เช่น Windows NT) อักขระ 16 บิตแบบคงที่ถูกใช้เป็นการเข้ารหัสเริ่มต้นอยู่แล้ว จึงตัดสินใจเข้ารหัสอักขระที่สำคัญที่สุดทั้งหมดภายใน 65,536 ตำแหน่งแรกเท่านั้น (หรือที่เรียกว่าภาษาอังกฤษ ระนาบหลายภาษาพื้นฐาน BMP). พื้นที่ที่เหลือใช้สำหรับ "อักขระเพิ่มเติม" (อังกฤษ. ตัวละครเสริม): ระบบการเขียนภาษาที่สูญพันธุ์หรือตัวอักษรจีน สัญลักษณ์ทางคณิตศาสตร์และดนตรีที่ไม่ค่อยได้ใช้

เพื่อความเข้ากันได้กับระบบ 16 บิตแบบเก่า ระบบ UTF-16 ถูกประดิษฐ์ขึ้นโดยที่ตำแหน่ง 65,536 แรก ยกเว้นตำแหน่งจากช่วง U + D800 ... U + DFFF จะแสดงเป็นตัวเลข 16 บิตโดยตรง และส่วนที่เหลือจะแสดงเป็น "คู่ตัวแทน" (องค์ประกอบแรกของคู่จากภูมิภาค U + D800… U + DBFF องค์ประกอบที่สองของคู่จากภูมิภาค U + DC00… U + DFFF) สำหรับคู่ตัวแทนเสมือน ส่วนหนึ่งของพื้นที่รหัส (2048 ตำแหน่ง) ที่สงวนไว้ก่อนหน้านี้สำหรับ "อักขระสำหรับใช้ส่วนตัว" ก่อนหน้านี้ถูกใช้

เนื่องจาก UTF-16 สามารถแสดงอักขระได้เพียง 2 20 + 2 16 −2048 (1 112 064) ตัวเลขนี้จึงถูกเลือกให้เป็นค่าสุดท้ายสำหรับพื้นที่โค้ด Unicode

แม้ว่าพื้นที่โค้ด Unicode จะขยายเกิน 2-16 เร็วเท่าเวอร์ชัน 2.0 แต่อักขระตัวแรกในพื้นที่ "บนสุด" จะถูกวางไว้ในเวอร์ชัน 3.1 เท่านั้น

บทบาทของการเข้ารหัสในภาคเว็บนั้นเพิ่มขึ้นอย่างต่อเนื่อง เมื่อต้นปี 2010 ส่วนแบ่งของเว็บไซต์ที่ใช้ Unicode อยู่ที่ประมาณ 50%

เวอร์ชัน Unicode

เนื่องจากตารางอักขระ Unicode มีการเปลี่ยนแปลงและเติมเต็ม และเวอร์ชันใหม่ของระบบนี้ได้รับการเผยแพร่ และงานนี้ยังคงดำเนินต่อไป เนื่องจากระบบ Unicode ดั้งเดิมมีเฉพาะ Plane 0 - รหัสสองไบต์เท่านั้น - เอกสาร ISO ใหม่ก็จะถูกเผยแพร่เช่นกัน ระบบ Unicode มีอยู่ในเวอร์ชันต่อไปนี้:

  • 1.1 (เป็นไปตามมาตรฐาน ISO / IEC 10646-1: 1993), 1991-1995
  • 2.0, 2.1 (มาตรฐานเดียวกัน ISO / IEC 10646-1: 1993 บวกเพิ่มเติม: "การแก้ไข" 1 ถึง 7 และ "Technical Corrigenda" 1 และ 2), 1996 มาตรฐาน
  • 3.0 (มาตรฐาน ISO / IEC 10646-1: 2000) มาตรฐาน 2000
  • 3.1 (มาตรฐาน ISO / IEC 10646-1: 2000 และ ISO / IEC 10646-2: 2001) มาตรฐาน 2001
  • มาตรฐาน 3.2 2002
  • 4.0 มาตรฐาน 2003
  • 4.01 มาตรฐานปี 2547
  • 4.1 มาตรฐานปี 2548
  • 5.0 มาตรฐานปี 2549
  • 5.1 มาตรฐาน 2008
  • 5.2 มาตรฐานปี 2552
  • 6.0 มาตรฐาน 2010
  • 6.1 มาตรฐานปี 2555
  • 6.2 มาตรฐานปี 2555

รหัสพื้นที่

แม้ว่าสัญกรณ์รูปแบบ UTF-8 และ UTF-32 จะอนุญาตให้เข้ารหัสจุดโค้ดได้มากถึง 2,331 (2,147,483,648) โค้ด แต่ก็ตัดสินใจใช้เพียง 1,112,064 เท่านั้นสำหรับความเข้ากันได้กับ UTF-16 อย่างไรก็ตาม เท่านี้ก็เกินพอแล้ว วันนี้ (ในเวอร์ชัน 6.0) มีการใช้จุดโค้ดน้อยกว่า 110,000 จุด (กราฟิก 109,242 และสัญลักษณ์อื่นๆ 273 ตัว) เล็กน้อย

พื้นที่รหัสแบ่งออกเป็น17 เครื่องบิน 2 16 (65536) อักขระแต่ละตัว ระนาบศูนย์เรียกว่า ขั้นพื้นฐานมีสัญลักษณ์ของสคริปต์ทั่วไป ระนาบแรกใช้สำหรับสคริปต์ประวัติศาสตร์เป็นหลัก ส่วนที่สอง - สำหรับอักขระ CJK ที่ไม่ค่อยได้ใช้ ระนาบที่สามสงวนไว้สำหรับอักขระจีนโบราณ เครื่องบิน 15 และ 16 สงวนไว้สำหรับการใช้งานส่วนตัว

เพื่อแสดงว่า อักขระ Unicodeสัญกรณ์ของแบบฟอร์ม “U + xxxx"(สำหรับรหัส 0 ... FFFF) หรือ" U + xxxxxx"(สำหรับรหัส 10000 ... FFFFF) หรือ" U + xxxxxx"(สำหรับรหัส 100000 ... 10FFFF) โดยที่ xxx- ตัวเลขฐานสิบหก ตัวอย่างเช่น อักขระ "i" (U + 044F) มีรหัส 044F = 1103

ระบบเข้ารหัส

ระบบการเข้ารหัสสากล (Unicode) คือชุดของสัญลักษณ์กราฟิกและวิธีการเข้ารหัสสำหรับการประมวลผลข้อมูลข้อความด้วยคอมพิวเตอร์

สัญลักษณ์กราฟิกเป็นสัญลักษณ์ที่มีภาพที่มองเห็นได้ อักขระกราฟิกตรงข้ามกับตัวควบคุมและการจัดรูปแบบอักขระ

สัญลักษณ์กราฟิกรวมถึงกลุ่มต่อไปนี้:

  • ตัวอักษรที่มีอย่างน้อยหนึ่งตัวอักษรที่รองรับ
  • ตัวเลข;
  • เครื่องหมายวรรคตอน;
  • สัญญาณพิเศษ (คณิตศาสตร์, เทคนิค, อุดมคติ ฯลฯ );
  • ตัวคั่น

Unicode เป็นระบบสำหรับการแสดงข้อความเชิงเส้น อักขระที่มีตัวยกหรือตัวห้อยเพิ่มเติมสามารถแสดงเป็นลำดับของรหัสที่สร้างขึ้นตามกฎบางอย่าง (อักขระแบบประกอบ) หรือเป็นอักขระตัวเดียว (เวอร์ชันเสาหิน อักขระที่ประกอบล่วงหน้า)

การปรับเปลี่ยนตัวอักษร

การแสดงอักขระ "Y" (U + 0419) ในรูปแบบของอักขระฐาน "I" (U + 0418) และอักขระดัดแปลง "" (U + 0306)

อักขระกราฟิกใน Unicode แบ่งออกเป็นแบบขยายและไม่ขยาย (แบบไม่มีความกว้าง) อักขระที่ไม่ขยายจะไม่ใช้พื้นที่ในบรรทัดเมื่อแสดง โดยเฉพาะอย่างยิ่ง เครื่องหมายเน้นเสียงและเครื่องหมายกำกับเสียงอื่นๆ อักขระทั้งแบบขยายและแบบไม่ขยายมีรหัสของตนเอง สัญลักษณ์เพิ่มเติมจะเรียกว่าพื้นฐาน (อังกฤษ. ตัวละครหลัก) และแบบไม่ขยาย - การแก้ไข (eng. การรวมตัวอักษร); และฝ่ายหลังไม่สามารถพบกันโดยอิสระ ตัวอย่างเช่น อักขระ "á" สามารถแสดงเป็นลำดับของอักขระหลัก "a" (U + 0061) และอักขระตัวแก้ไข "́" (U + 0301) หรือเป็นอักขระแบบเสาหิน "á" (U + 00C1).

อักขระการปรับเปลี่ยนชนิดพิเศษคือตัวเลือกรูปแบบใบหน้า (อังกฤษ ตัวเลือกรูปแบบต่างๆ). ใช้กับสัญลักษณ์ที่กำหนดตัวแปรดังกล่าวเท่านั้น ในเวอร์ชัน 5.0 ตัวเลือกสไตล์ถูกกำหนดไว้สำหรับซีรีส์ สัญลักษณ์ทางคณิตศาสตร์สำหรับสัญลักษณ์ของอักษรมองโกเลียแบบดั้งเดิมและสำหรับสัญลักษณ์ของการเขียนสี่เหลี่ยมจัตุรัสมองโกเลีย

แบบฟอร์มการทำให้เป็นมาตรฐาน

เนื่องจากสามารถแสดงสัญลักษณ์เดียวกันได้ รหัสต่างๆซึ่งบางครั้งทำให้การประมวลผลซับซ้อน มีกระบวนการทำให้เป็นมาตรฐานที่ออกแบบมาเพื่อนำข้อความไปสู่รูปแบบมาตรฐานบางอย่าง

มาตรฐาน Unicode กำหนดรูปแบบข้อความมาตรฐาน 4 รูปแบบ:

  • Normalization Form D (NFD) - การสลายตัวที่เป็นที่ยอมรับ ในกระบวนการแปลงข้อความให้อยู่ในรูปแบบนี้ อักขระผสมทั้งหมดจะถูกแทนที่ซ้ำด้วยอักขระผสมหลายตัวตามตารางการสลายตัว
  • Normalization Form C (NFC) คือการสลายตัวตามรูปแบบบัญญัติตามด้วยองค์ประกอบตามรูปแบบบัญญัติ ขั้นแรกให้ลดขนาดข้อความลงในรูปแบบ D หลังจากที่ดำเนินการจัดองค์ประกอบตามรูปแบบบัญญัติ - ข้อความจะถูกประมวลผลตั้งแต่ต้นจนจบและปฏิบัติตามกฎต่อไปนี้:
    • สัญลักษณ์ S คือ อักษรย่อหากมีคลาสการแก้ไขเป็นศูนย์ในฐานอักขระ Unicode
    • ในลำดับของอักขระใดๆ ที่ขึ้นต้นด้วยอักขระเริ่มต้น S อักขระ C จะถูกบล็อกจาก S หากมีอักขระ B ระหว่าง S และ C ที่เป็นอักขระเริ่มต้นหรือมีคลาสการแก้ไขที่เหมือนกันหรือมากกว่า C กฎใช้เฉพาะกับสตริงที่ผ่านการสลายตัวตามรูปแบบบัญญัติเท่านั้น
    • หลักคอมโพสิตคืออักขระที่มีการสลายตัวตามรูปแบบบัญญัติในฐานอักขระ Unicode (หรือการสลายตัวตามรูปแบบบัญญัติสำหรับฮันกุลและไม่รวมอยู่ในรายการข้อยกเว้น)
    • อักขระ X สามารถจัดแนวหลักกับอักขระ Y ได้ก็ต่อเมื่อมีคอมโพสิต Z หลักที่เทียบเท่ากับลำดับตามบัญญัติ .
    • หากอักขระตัวถัดไป C ไม่ถูกบล็อกโดยอักขระฐานเริ่มต้นที่พบล่าสุด L และสามารถจัดตำแหน่งได้สำเร็จ จากนั้น L จะถูกแทนที่ด้วยคอมโพสิต LC และ C จะถูกลบออก
  • แบบฟอร์มการทำให้เป็นมาตรฐาน KD (NFKD) - การสลายตัวที่เข้ากันได้ เมื่อส่งลงในแบบฟอร์มนี้ อักขระผสมทั้งหมดจะถูกแทนที่โดยใช้ทั้งแผนที่การสลายตัวแบบ Unicode แบบบัญญัติและแผนที่การสลายตัวที่เข้ากันได้ หลังจากนั้นผลลัพธ์จะอยู่ในลำดับตามรูปแบบบัญญัติ
  • แบบฟอร์มการทำให้เป็นมาตรฐาน KC (NFKC) - การสลายตัวที่เข้ากันได้ตามด้วย บัญญัติองค์ประกอบ.

คำว่า "องค์ประกอบ" และ "การสลายตัว" หมายถึงการเชื่อมต่อหรือการสลายตัวของสัญลักษณ์ตามลำดับเป็นส่วนที่เป็นส่วนประกอบ

ตัวอย่างของ

ข้อความที่มา NFD NFC NFKD NFKC
ฝรั่งเศส ฟรังก์ \ u0327ais ฟราน \ xe7ais ฟรังก์ \ u0327ais ฟราน \ xe7ais
A,E,Y \ u0410, \ u0401, \ u0419 \ u0410, \ u0415 \ u0308, \ u0418 \ u0306 \ u0410, \ u0401, \ u0419
\ u304b \ u3099 \ u304c \ u304b \ u3099 \ u304c
Henry iv Henry iv Henry iv Henry iv Henry iv
เฮนรี่ Ⅳ เฮนรี่ \ u2163 เฮนรี่ \ u2163 Henry iv Henry iv

จดหมายสองทิศทาง

มาตรฐาน Unicode รองรับการเขียนภาษาที่มีทิศทางจากซ้ายไปขวา (eng. ซ้ายไปขวา LTR) และเขียนจากขวาไปซ้าย (อังกฤษ. ขวาไปซ้าย RTL) - ตัวอย่างเช่น ตัวอักษรอารบิกและฮีบรู ในทั้งสองกรณี อักขระจะถูกจัดเก็บไว้ในลำดับที่ "เป็นธรรมชาติ" แอปพลิเคชันจัดเตรียมการแสดงผลโดยคำนึงถึงทิศทางที่ต้องการของจดหมาย

นอกจากนี้ Unicode ยังรองรับข้อความแบบรวมที่รวมส่วนย่อยที่มีทิศทางต่างกันของตัวอักษร คุณลักษณะนี้เรียกว่า แบบสองทิศทาง(อ. ข้อความแบบสองทิศทาง BiDi). ตัวประมวลผลข้อความแบบง่ายบางตัว (เช่น in โทรศัพท์มือถือ) รองรับ Unicode แต่ไม่รองรับแบบสองทิศทาง อักขระ Unicode ทั้งหมดแบ่งออกเป็นหลายประเภท: เขียนจากซ้ายไปขวา เขียนจากขวาไปซ้าย และเขียนในทิศทางใดก็ได้ สัญลักษณ์ของหมวดหมู่หลัง (ส่วนใหญ่เป็นเครื่องหมายวรรคตอน) เมื่อแสดง ให้เปลี่ยนทิศทางของข้อความโดยรอบ

สัญลักษณ์เด่น

Unicode มีสคริปต์สมัยใหม่แทบทั้งหมด รวมถึง:

อื่น ๆ.

เพื่อวัตถุประสงค์ทางวิชาการ มีการเพิ่มสคริปต์ทางประวัติศาสตร์มากมาย เช่น อักษรรูน กรีกโบราณ อักษรอียิปต์โบราณ คิวนิฟอร์ม การเขียนของชาวมายัน ตัวอักษรอิทรุสกัน

Unicode มีสัญลักษณ์ทางคณิตศาสตร์และดนตรีและรูปสัญลักษณ์มากมาย

อย่างไรก็ตาม โดยพื้นฐานแล้ว Unicode ไม่รวมโลโก้บริษัทและผลิตภัณฑ์ แม้ว่าจะพบในแบบอักษร (เช่น โลโก้ Apple ในการเข้ารหัส MacRoman (0xF0) หรือโลโก้ Windows ในแบบอักษร Wingdings (0xFF)) ในฟอนต์ Unicode โลโก้ต้องวางในพื้นที่อักขระที่กำหนดเองเท่านั้น

ISO / IEC 10646

Unicode Consortium ทำงานอย่างใกล้ชิดกับ กลุ่มทำงาน ISO / IEC / JTC1 / SC2 / WG2 ซึ่งกำลังพัฒนามาตรฐานสากล 10646 (ISO / IEC 10646) การซิงโครไนซ์เกิดขึ้นระหว่างมาตรฐาน Unicode และ ISO / IEC 10646 แม้ว่าแต่ละมาตรฐานจะใช้คำศัพท์และระบบเอกสารของตนเอง

ความร่วมมือของ Unicode Consortium กับองค์การระหว่างประเทศเพื่อการมาตรฐาน (eng. องค์การระหว่างประเทศเพื่อการมาตรฐาน ISO ) เริ่มในปี 1991 ในปี 1993 ISO ได้ออกมาตรฐาน DIS 10646.1 ในการซิงโครไนซ์กับมัน Consortium ได้อนุมัติเวอร์ชัน 1.1 ของมาตรฐาน Unicode ซึ่งเสริมด้วยอักขระเพิ่มเติมจาก DIS 10646.1 เป็นผลให้ค่าของอักขระที่เข้ารหัสใน Unicode 1.1 และ DIS 10646.1 เหมือนกันทุกประการ

ในอนาคตความร่วมมือระหว่างทั้งสององค์กรยังคงดำเนินต่อไป ในปี 2000 มาตรฐานยูนิโค้ด 3.0 ซิงโครไนซ์กับ ISO / IEC 10646-1: 2000 แล้ว ISO / IEC 10646 เวอร์ชันที่สามที่กำลังจะมีขึ้นจะถูกซิงโครไนซ์กับ Unicode 4.0 บางทีข้อกำหนดเหล่านี้อาจได้รับการเผยแพร่เป็นมาตรฐานเดียว

เช่นเดียวกับรูปแบบ UTF-16 และ UTF-32 ในมาตรฐาน Unicode มาตรฐาน ISO / IEC 10646 ยังมีรูปแบบการเข้ารหัสอักขระหลักสองรูปแบบ: UCS-2 (2 ไบต์ต่ออักขระ คล้ายกับ UTF-16) และ UCS-4 (4 ไบต์ต่ออักขระ คล้ายกับ UTF-32) UCS แปลว่า มัลติออคเต็ตอเนกประสงค์(มัลติไบต์) รหัสชุดอักขระ(อ. ชุดอักขระรหัสหลายออคเต็ตสากล ). UCS-2 ถือได้ว่าเป็นส่วนย่อยของ UTF-16 (UTF-16 โดยไม่มีคู่ตัวแทน) และ UCS-4 เป็นคำพ้องความหมายสำหรับ UTF-32

วิธีการนำเสนอ

Unicode มีรูปแบบการแสดงหลายรูปแบบ (eng. รูปแบบการแปลง Unicode, UTF ): UTF-8, UTF-16 (UTF-16BE, UTF-16LE) และ UTF-32 (UTF-32BE, UTF-32LE) แบบฟอร์มการแสดง UTF-7 ยังได้รับการพัฒนาสำหรับการส่งสัญญาณผ่านช่องสัญญาณเจ็ดบิต แต่เนื่องจากความไม่เข้ากันกับ ASCII แบบฟอร์มนี้จึงไม่แพร่กระจายและไม่รวมอยู่ในมาตรฐาน เมื่อวันที่ 1 เมษายน พ.ศ. 2548 มีการเสนอเรื่องตลกสองเรื่อง: UTF-9 และ UTF-18 (RFC 4042)

Unicode UTF-8: 0x00000000 - 0x0000007F: 0xxxxxxx 0x00000080 - 0x000007FF: 110xxxxx 10xxxxxx 0x00000800 - 0x0000FFFF: 1110xxxx 10xxxxxx 10xxxxxx 0x00010000 - 0x001FFFFF: 11110xxx 10xxxxxx 10xxxxxx 10xxxx

เป็นไปได้ในทางทฤษฎี แต่ไม่รวมอยู่ในมาตรฐาน:

0x0020000 - 0x03FFFFFF: 111110xx 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx 0x04000000 - 0x7FFFFFFFF: 1111110x 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx

แม้ว่า UTF-8 จะอนุญาตให้คุณระบุอักขระเดียวกันได้หลายวิธี แต่อักขระที่สั้นที่สุดเท่านั้นที่ถูกต้อง แบบฟอร์มที่เหลือควรถูกปฏิเสธด้วยเหตุผลด้านความปลอดภัย

ลำดับไบต์

ในสตรีมข้อมูล UTF-16 ไบต์สูงสามารถเขียนก่อนค่าต่ำสุด (eng. UTF-16 บิ๊กเอนด์) หรือหลังน้อง (อังกฤษ. UTF-16 little-endian). ในทำนองเดียวกัน มีสองตัวเลือกสำหรับการเข้ารหัสแบบสี่ไบต์ - UTF-32BE และ UTF-32LE

เพื่อกำหนดรูปแบบของการแสดง Unicode ที่จุดเริ่มต้น ไฟล์ข้อความลายเซ็นเขียน - อักขระ U + FEFF (ช่องว่างไม่แตกที่มีความกว้างเป็นศูนย์) หรือที่เรียกว่า เครื่องหมายคำสั่งไบต์(อ. เครื่องหมายคำสั่งไบต์ BOM ). ทำให้สามารถแยกแยะระหว่าง UTF-16LE และ UTF-16BE เนื่องจากไม่มีอักขระ U + FFFE บางครั้งก็ใช้เพื่อแสดงถึงรูปแบบ UTF-8 แม้ว่าแนวคิดของลำดับไบต์จะใช้ไม่ได้กับรูปแบบนี้ ไฟล์ที่เป็นไปตามแบบแผนนี้จะเริ่มต้นด้วยลำดับไบต์เหล่านี้:

UTF-8 EF BB BF UTF-16BE FE FF UTF-16LE FF FE UTF-32BE 00 00 FE FF UTF-32LE FF FE 00 00

น่าเสียดายที่วิธีนี้ไม่สามารถแยกความแตกต่างระหว่าง UTF-16LE และ UTF-32LE ได้อย่างน่าเชื่อถือ เนื่องจาก Unicode อนุญาตให้ใช้อักขระ U + 0000 (แม้ว่าข้อความจริงจะไม่ค่อยขึ้นต้นด้วย)

ไฟล์ในการเข้ารหัส UTF-16 และ UTF-32 ที่ไม่มี BOM ต้องอยู่ในลำดับไบต์ big-endian (unicode.org)

Unicode และการเข้ารหัสแบบดั้งเดิม

การเปิดตัว Unicode ได้เปลี่ยนวิธีการเข้ารหัส 8 บิตแบบเดิม ถ้าก่อนหน้านี้ระบุการเข้ารหัสโดยแบบอักษร ตอนนี้จะถูกระบุโดยตารางการติดต่อระหว่างการเข้ารหัสนี้และ Unicode อันที่จริงการเข้ารหัสแบบ 8 บิตได้กลายเป็นตัวแทนของชุดย่อยของ Unicode สิ่งนี้ทำให้ง่ายต่อการสร้างโปรแกรมที่ต้องทำงานกับการเข้ารหัสที่หลากหลาย: ตอนนี้ เพื่อเพิ่มการรองรับการเข้ารหัสอีกหนึ่งรายการ คุณเพียงแค่เพิ่มตารางค้นหา Unicode อื่น

นอกจากนี้ รูปแบบข้อมูลจำนวนมากยังอนุญาตให้แทรกอักขระ Unicode ใดๆ ได้ แม้ว่าเอกสารจะเขียนด้วยการเข้ารหัส 8 บิตแบบเก่าก็ตาม ตัวอย่างเช่น คุณสามารถใช้รหัสเครื่องหมายและใน HTML

การดำเนินการ

ระบบปฏิบัติการที่ทันสมัยส่วนใหญ่ให้การสนับสนุน Unicode ในระดับหนึ่ง

ในระบบปฏิบัติการของตระกูล Windows NT การเข้ารหัส UTF-16LE แบบสองไบต์จะใช้สำหรับการแสดงชื่อไฟล์ภายในและสตริงระบบอื่นๆ การเรียกระบบที่ใช้พารามิเตอร์สตริงมีอยู่ในตัวแปรไบต์เดี่ยวและไบต์คู่ สำหรับรายละเอียดเพิ่มเติมโปรดดูบทความ