ความแตกต่างระหว่าง UTF-8 และ UTF-16 (พร้อมตาราง)

สารบัญ:

Anonim

คอมพิวเตอร์จัดการกับตัวเลขอย่างลึกซึ้ง และทุกตัวอักษร เครื่องหมายวรรคตอน ตัวอักษร สัญลักษณ์ ฯลฯ ถูกกำหนดโดยตัวเลขที่แตกต่างกันในคอมพิวเตอร์ ก่อนการประดิษฐ์อักขระ 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

อ้างอิง

  1. https://dl.acm.org/doi/abs/10.1145/1345206.1345222
  2. https://www.hjp.at/doc/rfc/rfc3629.html
  3. https://www.proquest.com/openview/75078d4ece0a06f8cddd6cc9a719e8f9/1?pq-origsite=gscholar&cbl=2030006
  4. https://www.hjp.at/doc/rfc/rfc2781.html

ความแตกต่างระหว่าง UTF-8 และ UTF-16 (พร้อมตาราง)