คอมพิวเตอร์จัดการกับตัวเลขอย่างลึกซึ้ง และทุกตัวอักษร เครื่องหมายวรรคตอน ตัวอักษร สัญลักษณ์ ฯลฯ ถูกกำหนดโดยตัวเลขที่แตกต่างกันในคอมพิวเตอร์ ก่อนการประดิษฐ์อักขระ Unicode มีหลายวิธีในการกำหนดตัวเลขให้กับอักขระต่างๆ และหนึ่งในนั้นคือการเข้ารหัสอักขระ Unicode เป็นวิธีการอย่างเป็นทางการที่ให้ตัวเลขที่ไม่ซ้ำกันแก่อักขระต่างๆ นอกเหนือจากแพลตฟอร์มหรืออุปกรณ์หรือแอปพลิเคชันหรือภาษาต่างๆ
Utf-8 กับ Utf-16
ความแตกต่างระหว่าง UTF-8 และ UTF-16 คือ UTF-8 ในขณะที่เข้ารหัสสำหรับอักขระภาษาอังกฤษหรือตัวเลขใดๆ ใช้ 8 บิตและใช้บล็อก 1-4 ในขณะที่เปรียบเทียบ UTF-16 ในขณะที่เข้ารหัส อักขระและตัวเลขใช้ 16 บิตพร้อมการใช้งาน 1-2 บล็อก นอกจากนี้ ขนาดไฟล์ของเชิง UTF-8 ยังต้องการพื้นที่น้อยกว่า ในขณะที่ไฟล์เชิง UTF-16 นั้นจะมีขนาดเป็นสองเท่าของ UTF-8
UTF-8 ย่อมาจาก Unicode Transformation Format 8 ที่ใช้บล็อก 1-4 ร่วมกับ 8 บิต และระบุจุดโค้ด Unicode ที่ตรวจสอบแล้วทั้งหมด ความยาวตัวแปรของ UTF-8 อยู่ที่ประมาณ 32 บิตต่ออักขระ UTF-8 เกิดขึ้นจากความคิดอันชาญฉลาดสองคน – Ken Thompson และ Rob Pike ในเดือนกันยายน 1992 มันถูกสร้างขึ้นเมื่อพวกเขายุ่งอยู่กับการสร้างระบบปฏิบัติการ plan 9 และพวกเขาใช้เวลาหนึ่งสัปดาห์ในการสร้าง
UTF-16 ย่อมาจาก Unicode Transformation Format 16 ที่ใช้ 1-2 บล็อกที่ดำเนินการตาม 16 บิตเพื่อแสดงจุดโค้ด พูดง่ายๆ ก็คือ UTF-16 Unicode ต้องการอย่างน้อย 2 ไบต์ในการแสดงจุดโค้ด UTF-16 ยังต้องการความยาวผันแปรได้ถึง 32 บิตต่ออักขระ UTF-16 ถูกสร้างขึ้นเพื่อเอาชนะที่พักของจำนวนจุดรหัส
ตารางเปรียบเทียบระหว่าง Utf-8 และ Utf-16
พารามิเตอร์ของการเปรียบเทียบ | Utf-8 | Utf-16 |
ขนาดไฟล์ | มันมีขนาดเล็กกว่า | มีขนาดใหญ่กว่าเมื่อเปรียบเทียบ |
ความเข้ากันได้ของ ASCII | มันเข้ากันได้กับ ASCII | มันเข้ากันไม่ได้กับ ASCII |
การวางแนวไบต์ | เป็นไบต์เชิง | มันไม่ใช่แบบไบต์ |
การกู้คืนข้อผิดพลาด | เป็นการดีในการกู้คืนจากข้อผิดพลาดที่เกิดขึ้น | ไม่ดีเท่ากับการกู้คืนจากข้อผิดพลาดที่ทำ |
จำนวนไบต์ | ในกรณีขั้นต่ำ สามารถใช้ได้เพียง 1 ไบต์ (8 บิต) | ในกรณีขั้นต่ำ สามารถใช้ได้สูงสุด 2 ไบต์ (16 บิต) |
จำนวนบล็อก | มันใช้ 1-4 บล็อก | ได้นำ 1-2 บล็อก |
ประสิทธิภาพ | มีประสิทธิภาพมากกว่า | มีประสิทธิภาพน้อยลง |
ความนิยม | เป็นที่นิยมมากขึ้นในเว็บ | ไม่ได้รับความนิยมมากนัก |
Utf-8 คืออะไร?
UTF-8 ย่อมาจาก Unicode Transformation Format 8 มันใช้บล็อก 1-4 กับ 8 บิต แล้วระบุจุดโค้ดที่ถูกต้องทั้งหมดสำหรับ Unicode UTF-8 สามารถกำหนดจุดโค้ดได้สูงสุด 2, 097, 152 จุด จุดโค้ด 128 จุดแรกนั้นเข้ารหัสโดยบล็อกเดี่ยวที่ประกอบด้วยไบนารีบิต 8 บิต และเหมือนกันทุกประการกับอักขระ ASCII
อัจฉริยะผู้อยู่เบื้องหลังการสร้าง UTF-8 คือ Ken Thompson และ Rob Pike พวกเขาสร้างขึ้นในขณะที่วางแผนระบบปฏิบัติการ 9 ระบบในปี 1992 กันยายน สร้างขึ้นในหนึ่งสัปดาห์ และ International System of Organization (ISO) คือ ISO 10646 นอกจากนี้ยังเป็นรูปแบบการเข้ารหัสที่ยอมรับกันอย่างแพร่หลายมากที่สุด และเกือบ 95% ของหน้าเว็บทั้งหมดสร้างขึ้นตามรูปแบบ UTF-8
UTF-16 คืออะไร?
UTF-16 ย่อมาจาก Union Transformation Format 16 การใช้งานบล็อกขนาด 16 บิตหนึ่งหรือสองไบต์เพื่อแสดงแต่ละจุดของโค้ด พูดง่ายๆ ก็คือ สำหรับการแสดงโค้ดพอยต์แต่ละจุดใน UTF-16 ต้องมีอย่างน้อย 2 ไบต์ ความยาวตัวแปรของ UTF-16 แสดงจุดรหัสประมาณ 1, 112, 064
ขนาดไฟล์ UTF-16 มีขนาดเป็นสองเท่าของ UTF-8 ด้วยเหตุนี้ UTF-16 จึงถือว่ามีประสิทธิภาพน้อยกว่า UTF-16 ไม่ใช่แบบไบต์ และยังเข้ากันไม่ได้กับอักขระ ASCII UTF-16 เป็นมาตรฐานการเข้ารหัสที่เก่าแก่ที่สุดในซีรีส์ Unicode แอปพลิเคชันต่างๆ ของ UTF-16 คือการใช้งานในการเขียนโปรแกรม Microsoft Windows, JavaScript และ Java ภายใน
ความแตกต่างหลักระหว่าง Utf-8 และ Utf-16
บทสรุป
มาตรฐาน Unicode ได้รับการกำหนดขึ้นเพื่อให้ตัวเลขที่ไม่ซ้ำกันกับอักขระต่างๆ ในด้านมาตรฐาน Unicode UTF-16 เป็นการเข้ารหัส Unicode ที่เก่าแก่ที่สุดที่มีอยู่ ด้วยคุณสมบัติมากมายของมาตรฐาน Unicode ทำให้ UTF-8 และ UTF-16 ทั้งคู่แตกต่างกันในหลายๆ ด้าน
UTF-8 เป็นมาตรฐาน Unicode ที่สร้างขึ้นโดย Ken Thompson และ Rob Pike ในปี 1992 กันยายน เป็นรูปแบบ Unicode ที่ได้รับการยอมรับอย่างกว้างขวางที่สุด และหน้าเว็บทั้งหมดส่วนใหญ่ได้รับการออกแบบตามรูปแบบการเข้ารหัส UTF-8
ในทางตรงกันข้าม UTF-16 เป็นรูปแบบการเข้ารหัสอีกรูปแบบหนึ่ง ขนาดไฟล์ของไฟล์ UTF-16 มีขนาดใหญ่เป็นสองเท่าของ UTF-8 นอกจากนี้ เนื่องจากไฟล์มีขนาดใหญ่ ประสิทธิภาพของ UTF-16 จึงลดลง นอกจากนี้ยังเข้ากันไม่ได้กับอักขระ ASCII
อ้างอิง
- https://dl.acm.org/doi/abs/10.1145/1345206.1345222
- https://www.hjp.at/doc/rfc/rfc3629.html
- https://www.proquest.com/openview/75078d4ece0a06f8cddd6cc9a719e8f9/1?pq-origsite=gscholar&cbl=2030006
- https://www.hjp.at/doc/rfc/rfc2781.html