İçeriğe geç
LeedyBox
Destek ol

Kelimeler ve Karakterler Nasıl Sayılır?

Aynı metni iki uygulamaya yapıştırdığınızda iki farklı sayı görebilirsiniz. İkisi de mutlaka yanlış değildir: farklı şeyleri sayarlar. Bu rehber yaygın birimleri ve sayıların neden farklı olduğunu açıklar.

Karakterleri Saymanın Dört Yolu

Bilgisayarlar metni Unicode olarak saklar ve bir "karakter" birkaç düzeyde ölçülebilir:

  • Grafem kümeleri, okuyucunun tek bir karakter olarak gördüğü şeylerdir; örneğin "é", "한" veya "👍🏽".
  • Kod noktaları, tek tek Unicode değerleridir. Görünen tek bir karakter birkaç kod noktasından oluşabilir.
  • UTF-16 kod birimleri, JavaScript'in length özelliğinin ve diğer bazı programlama dillerinin saydığı birimlerdir. Emojilerin çoğu dahil, Temel Çok Dilli Düzlem (BMP) dışındaki karakterler iki birim kaplar.
  • UTF-8 baytları, bir dosyanın veya veritabanı sütununun sakladığı birimdir. ASCII harfleri bir bayt, aksanlı Latin harfleri genellikle iki, Korece, Çince ve Japonca karakterler genellikle üç, emojiler ise dört veya daha fazla bayt kaplar.
Metin Grafem Kod noktası UTF-16 birimi UTF-8 baytı
a 1 1 1 1
é (tek kod noktası) 1 1 1 2
é (e + birleşen aksan) 1 2 2 3
한 (Korece hece) 1 1 1 3
👍 1 1 2 4
👍🏽 (ten rengiyle) 1 2 4 8
👨‍👩‍👧 (aile emojisi) 1 5 8 18

Birleşen Aksanlar ve Korece Metin

Bazı karakterler birden fazla şekilde saklanabilir. "é" önceden birleştirilmiş tek bir kod noktası olabileceği gibi, ardından birleşen bir aksan gelen düz bir "e" de olabilir. Görünüşleri aynıdır, ancak ikinci biçimde bir kod noktası ve bir bayt fazladır. Bazı işletim sistemlerindeki dosya adları gibi bazı sistemlerden kopyalanan metinler ayrıştırılmış biçimi kullanabilir.

Korecede de aynı sorun vardır. "한" gibi bir hece genellikle tek bir kod noktası olarak saklanır, ancak ekranda birleşen ayrı jamolar (ㅎ, ㅏ, ㄴ) olarak da yazılabilir. Grafemlere dayalı bir sayaç her iki durumda da 1 gösterir, kod noktası sayımı ise 1 veya 3 gösterir. Unicode normalleştirmesi (NFC veya NFD) iki biçim arasında dönüştürme yapar.

Farklı Dillerde Kelime Sayma

İngilizcede metni boşluklardan bölmek makul bir kelime sayısı verir; yine de kısa çizgili kelimeler, kısaltmalar, sayılar ve URL'ler farklı araçlarda farklı sayılabilir.

Çince, Japonca ve Tayca genellikle kelimeler arasında boşluk bırakılmadan yazılır; bu nedenle boşluklardan bölmek bütün bir cümleyi tek kelime olarak sayar. Daha iyi sayaçlar, sözlüklere ve kurallara dayanan bir kelime bölütleyici kullanır. LeedyBox sayacı, birçok dil için kelime sınırlarını belirleyen tarayıcının Intl.Segmenter özelliğini kullanır. Bu dillerde bölütleme bir uzlaşım meselesidir; bu nedenle sonuçlar diğer araçlardan veya bir kişinin saydığından farklı olabilir. Bu dillerdeki bazı yayıncılar bu yüzden kelime yerine karakter sayar.

Uygulamalar ve Web Siteleri Neden Farklı Sayar?

"En fazla 280 karakter" veya "VARCHAR(255)" gibi bir sınır, sisteme bağlı olarak grafem, kod noktası, UTF-16 birimi veya bayt cinsinden ölçülebilir. Bazı hizmetler ayrıca bir bağlantıyı sabit uzunlukta sayar veya belirli yazı sistemlerini daha ağır sayar. Bir sınıra uymanız gerektiğinde hedef sistemin hangi birimi kullandığını öğrenin ve o sayıyla karşılaştırın. LeedyBox sayacı grafemleri, UTF-16 birimlerini ve UTF-8 baytlarını yan yana gösterir ve bir sınır denetleyicisi içerir; böylece ilgili birimde sınıra ne kadar yaklaştığınızı görebilirsiniz.

Satırlar, Paragraflar ve Satır Sonları

Satır sayıları satır sonlarının nasıl saklandığına bağlıdır. Windows genellikle iki karakter (CR LF), Linux ve macOS ise bir karakter (LF) kullanır. Ham karakterleri sayan bir araç Windows satır sonunu iki karakter sayabilir. Metnin sonundaki bir satır sonu ek bir boş satır olarak sayılabilir de sayılmayabilir de. Paragraflar genellikle bir veya daha fazla boş satırla ayrılmış bloklar olarak sayılır; bu nedenle paragraf içindeki tek bir satır sonu yeni bir paragraf başlatmaz.

Okuma Süresi Tahminleri

Okuma süresi, kelime sayısının varsayılan bir okuma hızına bölünmesiyle hesaplanır. Gerçek hız okuyucuya, dile ve metnin ne kadar teknik olduğuna göre değişir; kelime sayısının kendisi de bölütlemeye bağlıdır. Tahmini bir ölçüm olarak değil, planlama için kaba bir yol gösterici olarak değerlendirin.

Sık Sorulan Sorular

Bazı uygulamalarda bir emoji neden 2 karakter sayılıyor?

Bu uygulamalar UTF-16 kod birimlerini sayar. Emojilerin çoğu iki birim olarak saklanır; ten rengi içeren veya birden fazla kişiyi birleştiren emojiler daha fazla birim kullanır.

Bir veritabanı sütunu sınırı için hangi sayıyı kullanmalıyım?

Veritabanının belgelerine bakın. Bazı sınırlar karakter, bazıları bayt cinsindendir; bu nedenle karşılaştırılması gereken çoğu zaman UTF-8 bayt sayısıdır.

Sayaç metnimi bir yere gönderiyor mu?

LeedyBox Kelime ve Karakter Sayacı tarayıcınızda çalışır; bu nedenle yapıştırdığınız metin cihazınızda sayılır.