UTF-8 bayt sayacı
UTF-8 bayt, UTF-16 birimleri, kod noktaları ve grafikler cinsinden metnin gerçek boyutunu ölçün.
UTF-8 bayt sayacı
Karakter sayısı ve bayt boyutu aynı şey değildir. UTF-8'de düz İngilizce harflerin her biri bir bayt alır, ancak "é" iki bayt alır, çoğu CJK karakteri üç alır ve 👋 gibi bir emoji dört alır; yani 160 karakterlik bir mesaj kolaylıkla 160 bayttan çok daha fazla olabilir. Herhangi bir metni yapıştırdığınızda, bu sayaç onun tam UTF-8 bayt boyutunu, JavaScript'in .length'inin bildireceği UTF-16 kod birimlerini, Unicode kod noktalarının sayısını, grafik sayısını (kullanıcı tarafından algılanan karakterler, yani bir 👨👩👧 ailesi bir olarak sayılır) ve satır sayısını ve ayrıca her iki kodlama için B, KB veya MB olarak depolanan boyutu bildirir.
Bu döküm, pratik soruları hızlı bir şekilde yanıtlıyor: Bu dize, bayt cinsinden ölçülen bir VARCHAR(255) sütununa, bir SMS segmentine, 64 KB'lik bir yük sınırına, bir HTTP başlık bütçesine, bir localStorage kotasına sığacak mı? Bir veritabanı neden "160 karakterlik" bir dizeden şikayetçi oluyor ve neden bir emoji bir sistemde iki, diğerinde ise bir karakter olarak sayılıyor? Sayaç, "uzunluk"un tüm rakip tanımlarını yan yana gösterir, böylece sınırınızın tam olarak hangisini kullandığını görebilirsiniz.
Satır sonları bayt boyutu için de önemlidir: Windows CRLF sonlarıyla kaydedilen bir dosya, Unix LF sonlarıyla kaydedilen aynı dosyadan satır başına bir bayt daha büyüktür. Satır sonları seçeneği, metni yapıştırılmış haliyle veya bir kez LF veya CRLF'ye dönüştürülmüş haliyle ölçmenizi sağlar.
Her şey standart TextEncoder API'si kullanılarak tarayıcınızda yerel olarak hesaplanır; yapıştırdığınız metin hiçbir zaman yüklenmez, dolayısıyla yapılandırma dosyalarının, belirteçlerin ve özel mesajların ölçülmesi güvenlidir.