ตามบทความ Wikipedia , UTF-8 มีรูปแบบนี้:
รหัสแรกรหัสล่าสุดไบต์ไบต์ 1 ไบต์ 2 ไบต์ 3 ไบต์ 4 จุดจุดที่ใช้ U + 0000 U + 007F 1 0xxxxxxx U + 0080 U + 07FF 2 110xxxxx 10xxxxxx U + 0800 U + FFFF 3 1110xxxx 10xxxxxx 10xxxxxx U + 10000 U + 1FFFFF 4 11110xxx 10xxxxxx 10xxxxxx 10xxxxxxx x หมายถึงบิตนี้ใช้เพื่อเลือกจุดรหัส
สิ่งนี้จะสูญเสียสองบิตในแต่ละไบต์การต่อเนื่องและหนึ่งบิตในไบต์แรก ทำไม UTF-8 ถึงไม่เข้ารหัสดังต่อไปนี้
รหัสแรกรหัสล่าสุดไบต์ไบต์ 1 ไบต์ 2 ไบต์ 3 จุดจุดที่ใช้ U + 0000 U + 007F 1 0xxxxxxx U + 0080 U + 3FFF 2 10xxxxxx xxxxxxxx U + 0800 U + 1FFFFF 3 110xxxxx xxxxxxxx xxxxxxxx
มันจะประหยัดหนึ่งไบต์เมื่อจุดโค้ดอยู่นอกระนาบ Multilingual แบบพื้นฐานหรือถ้าจุดรหัสอยู่ในช่วง [U + 800, U + 3FFF]
ทำไม UTF-8 ถึงไม่เข้ารหัสอย่างมีประสิทธิภาพมากกว่า?