Unicode'daki olası tüm geçerli kombinasyonların sayımını açıklamayla birlikte istiyorum.
1.111.998 : 17 uçak × uçak başına 65.536 karakter - 2048 vekil - 66 karakter olmayan
UTF-8 ve UTF-32'nin teorik olarak 17 düzlemden çok daha fazlasını kodlayabildiğini, ancak aralığın UTF-16 kodlamasının sınırlamalarına göre kısıtlandığını unutmayın .
137.929 kod noktası aslında Unicode 12.1'de atanmıştır .
Ayrıca, o karakterin başlangıç baytı ne kadar uzun olması gerektiğini temizlese de, devam baytlarının neden kısıtlamaları olduğunu anlamıyorum.
UTF-8'deki bu kısıtlamanın amacı, kodlamanın kendi kendini senkronize etmesini sağlamaktır .
Bir karşı örnek olarak, Çin GB 18030 kodlamasını düşünün . Orada, harf ß, 81 30 89 38rakamların kodlamasını içeren bayt dizisi olarak temsil edilir 0ve 8. Bu nedenle, bu kodlamaya özgü tuhaflık için tasarlanmamış bir dizge arama işleviniz varsa, rakam için yapılan bir arama 8harf içinde yanlış bir pozitif bulacaktır ß.
UTF-8'de, bu olamaz, çünkü baştaki baytlar ile iz baytları arasındaki örtüşmeme, daha kısa bir karakterin kodlamasının daha uzun bir karakterin kodlaması içinde asla gerçekleşemeyeceğini garanti eder.