UTF-8 Bayt Kodlayıcı

UTF-8 bayt dizisini ve kod noktalarını görmek için bir metin yazın.

Nasıl hesaplanır?

Herhangi bir metni yazın ya da yapıştırın; araç onu UTF-8 baytları olarak okur. UTF-8 her Unicode kod noktasını ilk baytın belirlediği şekilde 1 ile 4 bayt arasında saklar:

0xxxxxxx = 1 bayt (U+0000 ile U+007F), 110xxxxx = 2 bayt, 1110xxxx = 3 bayt, 11110xxx = 4 bayt

Araç toplam bayt sayısını, kod noktası sayısını, tüm baytları boşlukla ayrılmış büyük harfli onaltılık olarak ve her kod noktası için U+XXXX = baytlar biçiminde bir satır verir. Kod noktası değeri baytların veri bitlerinden yeniden kurulur. Sayının görünen karakter değil kod noktası sayısı olduğuna dikkat edin: birden çok kod noktasından oluşan bir emoji ya da harf artı birleşen aksan birden fazla sayılır.

Örnek hesaplama

Metin "Café €". C, a, f ve boşluk düz ASCII'dir, her biri bir bayt (43, 61, 66, 20). é, U+00E9'dur ve iki bayt tutar: C3 A9. Euro işareti € U+20AC'dir ve üç bayt tutar: E2 82 AC. Toplam: 1 + 1 + 1 + 2 + 1 + 3 = 6 karakter için 9 bayt (9 bayt). Tam onaltılık çıktı 43 61 66 C3 A9 20 E2 82 AC olur.

Bu örneği dene →

Sık yapılan hatalar

  • Bir karakterin bir bayt olduğunu sanmak. Aksanlı harfler 2, birçok Asya karakteri 3, emoji 4 bayt tutar; 100 karakterlik bir mesaj 100 baytlık sınırı aşabilir.
  • Bayt sayısını, aslında karakter ya da UTF-16 biriminde olan bir sınırla (birçok veritabanı sütun türü gibi) kıyaslamak.
  • Kod noktasını gözün tek karakter gördüğü şeyle karıştırmak; bayrak ya da aile emojisi birbirine bağlı birkaç kod noktasıdır.
  • Bölünmez boşluk ya da sıfır genişlikli birleştirici gibi gizli karakterler içeren metni kopyalamak; göremediğiniz baytlar ekler.
  • Onaltılık çıktıyı başka bir kodlama sanmak. Bunlar UTF-8 baytlarıdır; U+007F üzerindeki her karakter için Latin-1 ya da UTF-16 baytlarından farklıdır.

Bu hesaplama hakkında

UTF-8, her Unicode kod noktasını 1 ila 4 bayt arasında kodlar: ASCII karakterleri (U+0000–U+007F) tek bayt kaplar, çoğu Latin uzantılı harf ve yaygın semboller 2 bayt, çoğu Çince/Japonca/Korece karakter ve diğer BMP karakterleri 3 bayt, Temel Çok Dilli Düzlem dışındaki emoji ve nadir karakterler ise 4 bayt kaplar — bu yüzden aksanlı harfler, Latin olmayan alfabeler veya emoji içeren bir metnin bayt uzunluğu karakter sayısından çok daha büyük olabilir.

Bu araç herhangi bir metni UTF-8'e kodlar ve toplam bayt uzunluğunu, ham onaltılık baytları ve her karakterin nasıl kodlandığını gösteren kod noktası dökümünü verir. Backend ve mobil geliştiriciler, karakter sayısı ile bayt sayısının ayrıştığı veritabanı, API veya SMS/push bildirim yük sınırlarında hata ayıklamak için; kodlama öğrenen öğrenciler ise Unicode metnin arkasındaki bayt yapısını doğrudan görmek için bu aracı kullanır.

Bu faydalı oldu mu?

En fazla 3 tepki seçebilirsiniz.

Yorumlar (1)

  • Editör ekibi

    Bir emoji kaydedilirken kayboluyor ya da soru işaretine dönüşüyorsa, onu buraya yapıştırıp dökümüne bakın. U+FFFF üzerindeki bir kod noktası dört bayt gösterir; MySQL'in üç baytlık utf8 karakter kümesi gibi bazı eski veritabanı ayarları dört baytlık karakterleri saklayamaz. İki ya da üç baytlık karakterlerde bu sorun olmaz. Sizde hangi metin kesiliyor ya da bozuluyor?

Popüler hesaplayıcılar

Tüm Hesaplayıcılar