20
ควรถือว่า UTF-16 เป็นอันตรายหรือไม่?
ฉันจะถามสิ่งที่อาจเป็นคำถามโต้เถียง: "หนึ่งในการเข้ารหัสที่นิยมมากที่สุด UTF-16 ถือว่าเป็นอันตรายหรือไม่" ทำไมฉันถึงถามคำถามนี้ มีโปรแกรมเมอร์กี่คนที่ตระหนักถึงความจริงที่ว่า UTF-16 เป็นความยาวแปรผันได้หรือไม่? โดยสิ่งนี้ฉันหมายความว่ามีจุดรหัสที่แสดงเป็นคู่ตัวแทนแทนใช้องค์ประกอบมากกว่าหนึ่ง ฉันรู้ว่า; แอปพลิเคชั่นเฟรมเวิร์กและ API จำนวนมากใช้ UTF-16 เช่นสตริงของ Java, สตริง C #, Win32 APIs, ไลบรารี Qt GUI, ไลบรารี ICU Unicode เป็นต้นอย่างไรก็ตามจากทั้งหมดนี้มีข้อบกพร่องพื้นฐานมากมายในการประมวลผล ของอักขระจาก BMP (อักขระที่ควรเข้ารหัสโดยใช้สององค์ประกอบ UTF-16) ตัวอย่างเช่นลองแก้ไขหนึ่งในตัวละครเหล่านี้: LE ( U + 1D11E ) ดนตรีซิมโฟนี G CLEF 𝕥 ( U + 1D565 ) คณิตศาสตร์สองชั้นซ้อนขนาดเล็ก 𝟶 …
432
unicode