UTF-16 Kodlayıcı
UTF-16 kod birimlerini onaltılık olarak görmek için metin girin.
Sonuç
Nasıl hesaplanır?
Araç metni UTF-8 olarak okur, her karakterin kod noktasını bulur ve UTF-16 kod birimlerini dört haneli büyük harfli onaltılık sayı olarak yazar. U+FFFF’e kadar olan bir kod noktası, kod noktasına eşit tek bir birimdir. Bundan büyük kod noktası vekil çifte bölünür: v = kn − 0x10000, yüksek = 0xD800 + (v ≫ 10), düşük = 0xDC00 + (v & 0x3FF). Birimler bayt sırası işareti olmadan büyük uçlu (UTF-16BE) sırayla gösterilir; UTF-16LE’de her birimin iki baytı yer değiştirir. Sayaç karakter değil kod birimi sayısıdır; çiftler varsa karakter sayısından büyük olur. Boş giriş ya da geçersiz UTF-8 sonuç vermez.
Örnek hesaplama
"Hi😀" metnini kodlayalım. H, U+0048 olduğundan birimi 0048, i ise U+0069 olduğundan 0069’dur. 😀 emojisi U+1F600’dür ve U+FFFF’in üstünde olduğu için 0x10000 çıkarılır: 0x1F600 − 0x10000 = 0xF600. Yüksek 10 bit 0xF600 ≫ 10 = 0x3D olur; yüksek = 0xD800 + 0x3D = D83D. Düşük 10 bit 0xF600 & 0x3FF = 0x200’dür; düşük = 0xDC00 + 0x200 = DE00. Araç 0048 0069 D83D DE00 sonucunu verir; yani 3 karakter için 4 kod birimi.
Sık yapılan hatalar
- Birim sayısından karakter sayısını çıkarmaya çalışmak. Emoji gibi ek düzlem karakterleri iki birim tutar; "Hi😀" 3 karakterdir ama 4 kod birimidir, JavaScript’te de uzunluğu 4’tür.
- Çıktıyı UTF-8 baytı sanmak. € için 20AC bir UTF-16 birimidir; UTF-8 biçimi E2 82 AC üç baytıdır.
- Bayt sırası işareti ya da küçük uçlu sıra beklemek. Birimler FEFF olmadan büyük uçlu gösterilir; UTF-16LE dosyası için her birimin baytlarını çevirin (0048, 48 00 olur).
- D83D ya da DE00 değerini tek başına bir karakter saymak. Vekil birim yalnızca eşiyle birlikte anlamlıdır, tek başına duramaz.
- Boşluk, satır sonu ya da sıfır genişlikli birleştirici gibi görünmeyen karakterleri farkında olmadan yapıştırmak. Bunlar da kodlanır (boşluk 0020’dir).
Bu hesaplama hakkında
UTF-16, Unicode metnini 16 bitlik kod birimlerinden oluşan bir dizi olarak kodlar. Temel Çok Dilli Düzlem’deki (BMP, U+0000 ile U+FFFF arasındaki kod noktaları — Latin, Kiril, Yunan, çoğu CJK ideogramı ve daha fazlasını kapsar) herhangi bir karakter, kod noktasına eşit tek bir 16 bitlik kod birimi olarak doğrudan temsil edilir. BMP dışındaki karakterler — emoji, birçok tarihsel ve daha az yaygın yazı sistemi ile ek CJK ideogramlarını içeren U+10000’den U+10FFFF’e kadar olan kod noktaları — 16 bite sığmadığından, UTF-16 bunları bir vekil çift (surrogate pair) ile temsil eder: yalnızca birlikte görünen ayrılmış aralıklardan alınan iki 16 bitlik birim.
Vekil çift, kod noktasından 0x10000 çıkarılarak 20 bitlik bir değer elde edilmesi, ardından bunun yüksek 10 bitinin 0xD800’e eklenmesi (0xD800–0xDBFF aralığında bir “yüksek vekil” verir) ve düşük 10 bitinin 0xDC00’e eklenmesiyle (0xDC00–0xDFFF aralığında bir “düşük vekil”) oluşturulur. Bu, geliştiriciler için doğrudan önemlidir çünkü JavaScript dizeleri, Java karakterleri ve Windows API’si dahili olarak UTF-16 kullanır; tek bir emojinin JavaScript’te .length değerinin 2 olarak raporlanmasının nedeni budur. Bu hesaplayıcı, girilen metni UTF-16 kod birimlerine kodlar, her birini onaltılık olarak gösterir ve gerektiğinde vekil çiftler kullanır.
Bu faydalı oldu mu?
En fazla 3 tepki seçebilirsiniz.
Popüler hesaplayıcılar
Kredi Hesaplama
Aylık taksit, toplam faiz ve ödeme planını hesaplayın.
Yüzde Hesaplama
Yüzde değişim, indirim ve oran hesaplamaları.
İndirim Hesaplama
İndirimli fiyatı, kazancı ve indirim tutarını hesaplayın.
Vücut Kitle Endeksi (VKİ)
Boy ve kiloya göre vücut kitle endeksini hesaplayın.
Yaş Hesaplama
Doğum tarihinden bugüne tam yıl, ay ve gün cinsinden yaşınızı hesaplayın.
Bileşik Faiz Hesaplama
Ana para, faiz oranı ve süreye göre bileşik faizle nihai tutarı hesaplayın.
Tüm Hesaplayıcılar
- Kredi Hesaplama
- Kar Hesaplama
- İndirim Hesaplama
- Vücut Kitle Endeksi (VKİ)
- Yüzde Hesaplama
- İdeal Kilo Hesaplama
- Yaş Hesaplama
- Gebelik Hesaplama
- Bileşik Faiz Hesaplama
- Bazal Metabolizma (BMR) Hesaplama
- Bahşiş Hesaplama
- Yakıt Maliyeti Hesaplama
- Tarih Farkı Hesaplama
- Uyku Döngüsü Hesaplama
- Günlük Su İhtiyacı Hesaplama
- Basit Faiz Hesaplama
- Kalp Atış Hızı Bölgeleri Hesaplama
- Koşu Temposu Hesaplama
- Evcil Hayvan Yaşı Hesaplama
- Kalori Yakım Hesaplama
- Makro Besin Dağılımı Hesaplama
- TDEE (Toplam Günlük Enerji İhtiyacı) Hesaplama
- Bel-Kalça Oranı Hesaplama
- Takdir ve Teşekkür Belgesi Hesaplama
- Tek Tekrar Maksimum (1RM) Hesaplama
- Yumurtlama (Ovülasyon) Hesaplama
- Elektrik Maliyeti Hesaplama
- Birim Fiyat Hesaplama
- Tasarruf Hedefi Hesaplama
- Başabaş Noktası Hesaplama
- Boya Hesaplama
- Vize-Final Ortalama Hesaplama
- İş Günü Hesaplama
- Saat Farkı (Süre) Hesaplama
- Yakıt Tüketimi Hesaplama
- Sıcaklık Birimi Çevirici
- Fayans (Seramik) Hesaplama
- En-Boy Oranı Hesaplama
- Roma Rakamı Çevirici
- Hedef Kilo Süresi Hesaplama
- Maaş Çevirici (Saatlik-Yıllık)
- Kredi Kartı Doğrulama (Luhn)
- Vücut Yüzey Alanı (BSA) Hesaplama
- Hissedilen Sıcaklık Hesaplama
- Ohm Kanunu Hesaplama
- PPI (Piksel Yoğunluğu) Hesaplama
- Molar Kütle Hesaplama
- Burç Hesaplama (Batı + Çin)
- IBAN Doğrulama
- Ayakkabı Numarası Dönüştürücü
- Ülke Bilgisi (Telefon Kodu) Sorgulama
- Saat Dilimi Farkı (Dünya Saati)
- CAGR (Bileşik Yıllık Büyüme) Hesaplama
- 72 Kuralı Hesaplama
- Kandaki Alkol (Promil) Hesaplama
- Yağsız Vücut Kütlesi (LBM) Hesaplama
- Pisagor Teoremi Hesaplama
- Hız Birimi Dönüştürücü
- İndirme Süresi Hesaplama
- Tarih Hesaplama (Gün Ekle/Çıkar)
Hesaplayıcı bulunamadı
Yorumlar (1)
Gösterilen kod birimleri kaçış dizisi olarak da kullanılır. Varsayılan Hi ve gülen yüz karakteri için D83D DE00 çifti, JavaScript, Java veya JSON dizgisinde \uD83D\uDE00 diye yazılır. Araç birimleri saydığı için bildirdiği 4, JavaScript'te bu metnin length değeriyle aynıdır. UTF-16LE çıktısına ya da her birimin başında 0x ön ekine de ihtiyaç duyuyor musunuz?