UCS-2 ve UTF-16 arasındaki fark

Anonim

UCS-2 ve UTF-16

UCS-2 ve UTF-16, her birini temsil etmek için 16 bitten oluşan 2 bayt kullanan iki karakterli kodlama şemalarıdır karakter; böylece 2 ve 16 ekler. UCS-2 ve UTF-16 arasındaki temel fark bugün hangisinin kullanıldığı. UCS-2, daha sonra eski haline gelmiş ve daha yeni ve daha güçlü UTF-16 ile değiştirilen eski bir şemadır.

UCS-2, her karakter için iki bayt kullanan sabit genişlikli bir kodlamadır; Bu, 216 karaktere kadar veya 65 binden biraz fazla olabilir. Öte yandan UTF-16, her karakter için en az 2 bayt ve en fazla 4 bayt kullanan değişken genişlikli kodlama şemasıdır. Bu, UTF-16'nın en yaygın kullanılan karakterler için en az alanı kullanırken Unicode'daki herhangi bir karakteri temsil etmesini sağlar. 65'in çoğunluğu için, 000+ karakter, UCS-2 ve UTF-16 aynı kod noktalarına sahiptir; bu yüzden büyük oranda eşdeğerdirler. Bu, UTF-16 özellikli uygulamaların UCS-2 kodlarını doğru şekilde yorumlamasını sağlar. Ancak, UTF-16'daki pek çok yenilik nedeniyle diğer yol bu şekilde çalışmazdı.

Sözü edilen yeniliklerden biri, soldan sağa doğru değil sağdan sola dönen senaryoları gösterme becerisidir. UTF-16'da, komut dosyaları yönlülüğü tanımlayabilir, böylece uygulamanın kodda saklanan kelimeleri doğru bir şekilde oluşturmasına izin verilir. UCS-2, bu yeteneğinden yoksun olarak, sağdan sola hareket eden Arapça ve İbranice gibi senaryolarda çalışmaz. UTF-16'nın sahip olduğu bir diğer özellik de normalleştirme. Normalleştirme, aynı şeyi ifade eden ancak aynı şekilde farklı gösterilmiş kelimeleri değerlendirir. Örneğin, "can not" ve "can not" sözcükleri özdeştir, çünkü ikincisi yalnızca birinin daralmasıdır. Bu, özellikle de böyle kelimeleri ararken daha kapsamlı bir arama sonucuna izin verecek şekilde çok önemlidir. UCS-2'de bu otomatik olarak gerçekleşmez, bu nedenle uygulamanın böyle bir özelliği kendi başına uygulamaya ihtiyacı vardır.

UTF-16'yı desteklemenize gerek olmayan bir uygulamanın yanında, UTF-16 üzerinden UCS-2'yi seçmenin hiçbir nedeni yoktur. Her açıdan UTF-16 UCS-2'den üstün. Ayrıca, geriye dönük olarak da uyumludur, bu nedenle UCS-2'de kodlanmış dosyalar hakkında endişelenmenize gerek yoktur.

Özet:

  1. UCS-2 geçersizdir ve o zamandan beri UTF-16
  2. ile değiştirilmiştir. UTF-16,
  3. UTF-16 değişken genişlikli kodlama şeması iken, UCS-2 sabit genişlikte bir kodlama şemasıdır. UCS-2 dosyaları okumak ancak
  4. ötesinde yolu okumayabilir UTF-16 UCS-2,
  5. UTF-16 normalleştirme desteklemiyorsa, komut dosyaları izin vermeyi destekliyor UCS-2 ise
3'ten büyük ->