Cara memakai
- Tempel atau ketik teks di Teks. Hitungannya diperbarui saat Anda mengetik.
- Baca Karakter (grafem) untuk panjang yang dilihat pembaca, dan Titik kode untuk hitungan Unicode.
- Baca Byte UTF-8 untuk ukuran halaman web atau berkas dalam pengodean yang biasa dipakai.
- Di Batas, periksa baris SMS dan X: Sisa adalah ruang di bagian atau postingan terakhir.
Karakter, titik kode dan grafem
Titik kode adalah satu bilangan dalam tabel Unicode. Karakter seperti yang dilihat pembaca adalah klaster grafem, dan satu grafem bisa memuat beberapa titik kode: huruf e dengan aksen gabungan adalah dua titik kode dan satu grafem, serta emoji keluarga yang disambung dengan penyambung lebar nol adalah lima titik kode dan satu grafem.
Hitungan grafem memakai segmenter peramban, yang mengikuti aturan Unicode untuk klaster grafem (UAX #29). Dua di antaranya: tidak ada pemutusan sebelum karakter perluasan atau penyambung lebar nol, dan urutan emoji atau sepasang indikator wilayah tetap bersama.
Byte dalam UTF-8, UTF-16 dan UTF-32
- UTF-8 memakai 1 byte sampai U+007F, 2 byte sampai U+07FF, 3 byte sampai U+FFFF, dan 4 byte di atasnya.
- UTF-16 memakai satu unit 16 bit untuk sebagian besar titik kode. Titik kode di atas U+FFFF memakan dua unit, sebuah pasangan pengganti (surrogate pair), yaitu 4 byte.
- UTF-32 memakai tepat 4 byte untuk setiap titik kode.
Batas SMS
Pesan yang hanya ditulis dengan karakter GSM 7 bit muat 160 karakter dalam satu SMS. Jika lebih panjang, setiap bagian memuat 153 karakter, karena sebagian dari muatan 140 byte dipakai untuk header. Karakter tabel ekstensi (form feed, ^ { } \ [ ~ ] | dan tanda euro) memakan dua posisi masing-masing.
Pesan yang memuat karakter di luar GSM-7 dikirim dalam UCS-2, yang memuat 70 karakter dalam satu SMS dan 67 di setiap bagian dari pesan yang lebih panjang. Alat ini menghitung ş, ğ, ı, İ, ç dan Ç sebagai di luar GSM-7, yaitu hitungan yang lebih ketat untuk teks bahasa Turki.
- Tabel GSM-7 dan tabel ekstensi berasal dari artikel Wikipedia tentang GSM 03.38 (dalam bahasa Inggris). Standarnya sendiri adalah 3GPP TS 23.038, Alphabets and language-specific information.
- Angka 153 dan 67 diberikan di artikel Wikipedia tentang SMS (dalam bahasa Inggris), yang mengutip standar 3GPP untuk angka 160 dan 70.
Panjang postingan X
X menghitung postingan dalam 280 karakter berbobot. Sebagian besar karakter berbobot 1; emoji dan karakter CJK berbobot 2. Tautan dihitung 23, berapa pun panjangnya. Rentang bobot itu sesuai konfigurasi twitter-text milik X (versi 3); halaman hitungan X memberi aturan yang sama dengan kata-kata.
Alat ini menemukan tautan yang dimulai dengan http:// atau https://. Tautan yang ditulis tanpa skema dihitung sebagai teks biasa, sehingga postingan yang memuatnya bisa dihitung lebih panjang daripada hitungan X.
Contoh kerja: Hello, world! Café 👋
Teks memuat 20 karakter, yang juga 20 titik kode. Emoji itu satu titik kode tetapi dua unit UTF-16, sehingga panjang string-nya 21. Ukuran UTF-8 adalah 24 byte: 17 untuk huruf ASCII, tanda baca dan spasi, 2 untuk é, 1 untuk spasi di antara kata, dan 4 untuk emoji. Ukuran UTF-16 adalah 21 × 2 = 42 byte, dan ukuran UTF-32 adalah 20 × 4 = 80 byte.
| Ukuran | Nilai |
|---|---|
| Karakter (grafem) | 20 |
| Unit kode UTF-16 | 21 |
| Byte UTF-8 | 24 |
| Byte UTF-16 | 42 |
| Byte UTF-32 | 80 |
| SMS, UCS-2: satu pesan | 21 dari 70, sisa 49 |
| Postingan X | 21 dari 280, sisa 259 |
Pertanyaan yang sering diajukan
Mengapa emoji dihitung satu karakter di sini, tetapi dua unit dalam UTF-16?
Emoji di luar Basic Multilingual Plane membutuhkan dua unit kode 16 bit, yaitu pasangan pengganti. Pembaca tetap melihat satu karakter, sehingga hitungan grafemnya satu, sedangkan panjang UTF-16-nya dua.
Mengapa teks Turki memuat lebih sedikit karakter per SMS daripada teks bahasa Inggris?
Huruf ş, ğ, ı, İ, ç dan Ç berada di luar abjad GSM-7, sehingga satu saja dari huruf itu membuat seluruh pesan menjadi UCS-2. SMS UCS-2 memuat 70 karakter, bukan 160.
Mengapa hitungan X lebih tinggi daripada jumlah karakter yang saya lihat?
X memberi bobot 2 pada emoji serta karakter Tionghoa, Jepang dan Korea, dan menghitung setiap tautan sebagai 23 karakter. Hitungan yang ditampilkan di sini mengikuti bobot yang sama.
Apakah batas SMS dan X pasti untuk setiap operator atau platform?
Batasnya mengikuti standar dan bobot X yang dipublikasikan. Operator mungkin tetap memecah atau menagih pesan dengan cara lain, dan alat ini tidak memeriksa tautan yang ditulis tanpa http atau https.
Apakah teks saya dikirim ke suatu tempat?
Tidak. Hitungan dijalankan di peramban Anda. Teksnya tidak disimpan dan tidak dikirim ke situs ini.
Sumber
- Wikipedia (dalam bahasa Inggris): SMS, panjang pesan dan angka 153 dan 67
- Wikipedia (dalam bahasa Inggris): GSM 03.38, tabel dasar dan ekstensi GSM 7 bit
- 3GPP TS 23.038 (dalam bahasa Inggris): Alphabets and language-specific information
- Wikipedia (dalam bahasa Inggris): UTF-8, byte per titik kode
- Wikipedia (dalam bahasa Inggris): UTF-16, unit kode dan pasangan pengganti
- Wikipedia (dalam bahasa Inggris): UTF-32, lebar tetap
- Unicode UAX #29 (dalam bahasa Inggris): Unicode text segmentation, klaster grafem (revisi 49)
- X (dalam bahasa Inggris): Counting characters, panjang postingan dan bobot
- twitter-text, config/v3.json (dalam bahasa Inggris): rentang bobot yang dipakai X
Angka dan teks terakhir diperiksa pada Selasa, 10 November 2026.