Langsung ke konten
LeedyBox
Dukung

Cara Kata dan Karakter Dihitung

Tempel teks yang sama ke dua aplikasi, dan Anda mungkin mendapatkan dua hasil hitungan yang berbeda. Belum tentu ada yang salah: keduanya menghitung hal yang berbeda. Panduan ini menjelaskan satuan yang umum dan mengapa angkanya berbeda.

Empat Cara Menghitung Karakter

Komputer menyimpan teks sebagai Unicode, dan sebuah "karakter" dapat diukur pada beberapa tingkat:

  • Kluster grafem adalah apa yang dilihat pembaca sebagai satu karakter, seperti "é", "한", atau "👍🏽".
  • Code point adalah nilai Unicode individual. Satu karakter yang terlihat dapat terdiri atas beberapa code point.
  • Unit kode UTF-16 adalah satuan yang dihitung oleh length di JavaScript dan beberapa bahasa pemrograman lain. Karakter di luar Basic Multilingual Plane, termasuk sebagian besar emoji, memakan dua unit.
  • Byte UTF-8 adalah apa yang disimpan oleh file atau kolom database. Huruf ASCII memakan satu byte, huruf Latin beraksen biasanya dua, karakter Korea, Tionghoa, dan Jepang biasanya tiga, dan emoji empat atau lebih.
TeksGrafemCode pointUnit UTF-16Byte UTF-8
a1111
é (satu code point)1112
é (e + aksen gabung)1223
한 (suku kata Korea)1113
👍1124
👍🏽 (dengan warna kulit)1248
👨‍👩‍👧 (emoji keluarga)15818

Aksen Gabung dan Teks Korea

Beberapa karakter dapat disimpan dengan lebih dari satu cara. "é" dapat berupa satu code point yang sudah tersusun (precomposed) atau huruf "e" biasa yang diikuti aksen gabung (combining accent). Keduanya terlihat identik, tetapi bentuk kedua memiliki satu code point dan satu byte lebih banyak. Teks yang disalin dari beberapa sistem, seperti nama file di sistem operasi tertentu, dapat menggunakan bentuk terurai.

Bahasa Korea memiliki masalah yang sama. Suku kata seperti "한" biasanya disimpan sebagai satu code point, tetapi juga dapat ditulis sebagai jamo terpisah (ㅎ, ㅏ, ㄴ) yang tergabung di layar. Penghitung berbasis grafem menampilkan 1 dalam kedua kasus, sedangkan hitungan code point menampilkan 1 atau 3. Normalisasi Unicode (NFC atau NFD) mengonversi di antara kedua bentuk tersebut.

Menghitung Kata dalam Berbagai Bahasa

Dalam bahasa Inggris, memisahkan teks berdasarkan spasi menghasilkan jumlah kata yang cukup masuk akal, meskipun kata berhubung, kontraksi, angka, dan URL tetap dapat dihitung secara berbeda oleh alat yang berbeda.

Bahasa Tionghoa, Jepang, dan Thai biasanya ditulis tanpa spasi di antara kata, sehingga memisahkan berdasarkan spasi akan menghitung satu kalimat utuh sebagai satu kata. Penghitung yang lebih baik menggunakan segmenter kata yang mengandalkan kamus dan aturan. Penghitung LeedyBox menggunakan Intl.Segmenter milik browser, yang mengenali batas kata untuk banyak bahasa. Segmentasi dalam bahasa-bahasa ini merupakan soal konvensi, sehingga hasilnya dapat berbeda dari alat lain atau dari hitungan manusia. Karena alasan itu, sebagian penerbit dalam bahasa-bahasa ini menghitung karakter alih-alih kata.

Mengapa Aplikasi dan Situs Web Menghitung Secara Berbeda

Batas seperti "maksimum 280 karakter" atau "VARCHAR(255)" dapat diukur dalam grafem, code point, unit UTF-16, atau byte, tergantung sistemnya. Beberapa layanan juga menghitung tautan sebagai panjang tetap atau memperlakukan aksara tertentu sebagai lebih berat. Jika Anda harus memenuhi suatu batas, cari tahu satuan yang digunakan sistem tujuan dan bandingkan dengan angka tersebut. Penghitung LeedyBox menampilkan grafem, unit UTF-16, dan byte UTF-8 berdampingan serta menyertakan pemeriksa batas, sehingga Anda dapat melihat seberapa dekat Anda dengan batas dalam satuan yang relevan.

Baris, Paragraf, dan Pergantian Baris

Jumlah baris bergantung pada cara pergantian baris disimpan. Windows biasanya menggunakan dua karakter (CR LF), sedangkan Linux dan macOS menggunakan satu (LF). Alat yang menghitung karakter mentah dapat menghitung pergantian baris Windows sebagai dua. Pergantian baris di akhir teks bisa dihitung atau tidak sebagai baris kosong tambahan. Paragraf biasanya dihitung sebagai blok yang dipisahkan oleh satu atau beberapa baris kosong, sehingga satu pergantian baris di dalam paragraf tidak memulai paragraf baru.

Perkiraan Waktu Baca

Waktu baca dihitung dengan membagi jumlah kata dengan kecepatan membaca yang diasumsikan. Kecepatan sebenarnya bervariasi menurut pembaca, bahasa, dan seberapa teknis teksnya, dan jumlah kata itu sendiri bergantung pada segmentasi. Anggap perkiraan ini sebagai pedoman kasar untuk perencanaan, bukan hasil pengukuran.

Pertanyaan Umum

Mengapa satu emoji dihitung sebagai 2 karakter di beberapa aplikasi?

Aplikasi tersebut menghitung unit kode UTF-16. Sebagian besar emoji disimpan sebagai dua unit, dan emoji dengan warna kulit atau gabungan beberapa orang menggunakan lebih banyak.

Hitungan mana yang sebaiknya saya gunakan untuk batas kolom database?

Periksa dokumentasi database. Sebagian batas dinyatakan dalam karakter dan sebagian lagi dalam byte, sehingga jumlah byte UTF-8 sering kali menjadi angka yang perlu dibandingkan.

Apakah penghitung mengirim teks saya ke suatu tempat?

Penghitung Kata & Karakter LeedyBox berjalan di browser Anda, sehingga teks yang Anda tempel dihitung di perangkat Anda.