UTF-16

Encoding & Standards

Karakter başına 2 veya 4 bayt kullanan değişken genişlikli Unicode kodlaması; JavaScript, Java ve Windows tarafından dahili olarak kullanılır.

UTF-16 uses 16-bit code units. Characters in the Basic Multilingual Plane (U+0000 to U+FFFF) use one code unit (2 bytes). Characters above U+FFFF — including most emoji — require a surrogate pair (4 bytes).

This is why JavaScript's `string.length` can be surprising with emoji: `'😀'.length` returns 2 (two UTF-16 code units), not 1. Developers must use spread syntax (`[...'😀'].length`) or `Array.from()` for correct counting.

UTF-16 exists in two byte orders: UTF-16LE (little-endian, used by Windows) and UTF-16BE (big-endian). A BOM character can indicate which is used.

İlgili Terimler

BOM (BOM) BOM (BOM)
UTF-16/UTF-32 kodlamalarında bayt sırasını (endianness) belirtmek amacıyla metin dosyasının başına yerleştirilen Bayt Sırası İşareti (U+FEFF).
Ek Çok Dilli Düzlem (SMP) Ek Çok Dilli Düzlem (SMP)
Emoji kod noktalarının büyük çoğunluğunun tahsis edildiği Unicode Düzlem 1 (U+10000'dan U+1FFFF'ye).
Kod Birimi Kod Birimi
Bir karakteri kodlamak için kullanılan minimum bit kombinasyonu: UTF-8 için 8 bit, UTF-16 için 16 bit ve UTF-32 için 32 bit.
UTF-32 UTF-32
Karakter başına tam olarak 4 bayt kullanan sabit genişlikli Unicode kodlaması; alan kullanımı pahasına doğrudan kod noktası eşlemesi sağlar.
UTF-8 UTF-8
Karakter başına 1 ile 4 bayt kullanan değişken genişlikli Unicode kodlaması; web'de baskın kodlamadır (web sitelerinin %98'inden fazlası tarafından kullanılır).
Vekil Çifti Vekil Çifti
U+FFFF'nin üzerindeki bir karakteri birlikte temsil eden iki UTF-16 kod birimi: yüksek vekil (U+D800–U+DBFF) ve ardından düşük vekil (U+DC00–U+DFFF).

İlgili Araçlar

🔢 Unicode Arama Unicode Arama
U+1F600 gibi bir kod noktası girin ve emojiyi, kodlama ayrıntılarını, UTF-8/16 baytlarını ve HTML varlıklarını alın.