ด้วยเหตุที่ว่ามีการใช้ภาษาที่หลากหลายมากบนคอมพิวเตอร์ โลกนี้จำเป็นต้องมีอะไรสักอย่าง ที่สามารถแสดงอักขระที่เกินกว่าที่ ACSII เคยทำได้ (1ไบต์แสดงได้เพียง 256 อักขระ)
utf-8 จึงถูกนำมาใช้แทนด้วยขนาดที่แปรผันได้ 1-4ไบต์ ทำให้การแสดงอักขระมีความเป็นไปได้เพิ่มขึ้นอย่างมาก
ข้อได้เปรียบของขนาดอักขระที่แปรผันได้ก็คือเราจะไม่ต้องมีอักขระที่ไม่จำเป็น แบบที่เคยพบใน ASCII (ใน utf-8 ยังมีบางตัวที่มีขนาด 1ไบต์อยู่ด้วย)
แต่ข้อเสียของมันก็มี นั่นคือมันทำให้การค้นหาอักขระจะไม่เร็วเหมือนเดิม(O(1) เสมอ) ด้วยการบอก index ไปตรงๆ (ตัวอย่างเช่น my_text[3]
เพื่อรับอักขระตัวที่ 4 ออกมา) เพราะมันอาจเป็นไปได้ว่าอักขระก่อนหน้าจะมีขนาดแปรผัน ทำให้อักขระตัวที่ 4 อาจะเปลี่ยนตำแหน่งไป
นั่นทำให้เราจำเป็นต้องวนหาของตามลำดับไบต์ของ utf-8 เพื่อหาว่า Unicode ตัวนั้นจริงๆเริ่มต้นที่ไหน (O(n) ในเชิงเส้น)
Ferris: "ฉันมีความสุขมากที่เรามี utf-8 เพราะมันแสดงอิโมจิของเหล่าเพื่อนใต้น้ำของฉันได้"
🐠🐙🐟🐬🐋