ASCII, Unicode, dan UTF-8: bagaimana teks menjadi byte
Dipublikasikan 13 Juni 2026
Komputer sebenarnya cuma menyimpan angka, padahal layarmu penuh huruf, tanda baca, dan emoji. Nah, penghubung keduanya namanya encoding karakter: seperangkat aturan yang memetakan tiap karakter ke sebuah angka, dan tiap angka ke pola byte. Begitu dua program beda pendapat soal aturan mana yang dipakai, muncul deh teks kacau yang sering kamu lihat: é padahal harusnya é, atau deretan tanda tanya di tempat yang seharusnya emoji. Dengan paham tiga lapisan di bawah ini, bug semacam itu jadi gampang ditebak, nggak lagi terasa misterius.
ASCII: 128 karakter, satu byte tiap karakter
ASCII, yang lahir di tahun 1960-an, memberi angka 0 sampai 127 untuk huruf Inggris, angka, tanda baca dasar, dan beberapa kode kontrol. Huruf A bernilai 65, a bernilai 97, dan angka 0 bernilai 48. Karena 127 muat dalam tujuh bit, tiap karakter ASCII cukup satu byte saja. Kelemahannya jelas: nggak ada tempat buat huruf beraksen, aksara Arab, Mandarin, atau lambang rupiah, apalagi emoji.
Unicode: satu angka untuk setiap karakter
Unicode mengatasi keterbatasan itu dengan memberi satu angka unik (namanya code point) buat tiap karakter di semua sistem penulisan, plus simbol dan emoji. Jumlahnya ada lebih dari sejuta code point, ditulis seperti U+00E9 untuk é atau U+1F600 untuk wajah senyum lebar. Yang penting dipahami, Unicode cuma menetapkan angkanya, bukan cara menyimpannya jadi byte. Urusan itu ditangani oleh encoding, dan yang paling penting adalah UTF-8.
UTF-8: encoding yang memenangi web
UTF-8 ini skema yang pintar karena panjangnya bisa berubah-ubah. Karakter ASCII tetap pakai satu byte, jadi teks Inggris lama dan kode program tetap sama persis dan kompatibel sepenuhnya. Karakter di luar ASCII baru pakai dua, tiga, atau empat byte sesuai kebutuhan: é pakai dua byte, kebanyakan karakter Mandarin tiga byte, dan emoji empat byte. Gabungan kompatibilitas ke format lama plus cakupan yang lengkap inilah yang bikin UTF-8 sekarang dipakai hampir di seluruh web.
Kenapa teks menjadi kacau
Hampir semua bug encoding intinya soal ketidakcocokan: teks ditulis pakai satu encoding, tapi dibaca pakai encoding lain. Misalnya berkas yang disimpan sebagai UTF-8 dibuka pakai Windows-1252 yang lebih tua, tiap karakter multi-byte bakal kebaca jadi dua simbol terpisah, dan dari situlah é muncul. Solusinya jarang dengan 'memperbaiki' teksnya, tapi biasanya cukup memberi tahu tiap program encoding yang benar. Beberapa kebiasaan ini mencegah sebagian besar masalah:
- Simpan dan ekspor sebagai UTF-8 di mana pun, kecuali ada sistem yang khusus minta format lain.
- Sebutkan encoding-nya di berkasmu: <meta charset="utf-8"> untuk HTML, dan header yang tepat untuk API.
- Kalau mau mengirim teks lewat URL atau JSON, encode dulu biar byte-byte khususnya nggak rusak di jalan.
Kamu bisa lihat langsung lapisan-lapisan ini lewat alat kami: konverter teks-ke-biner menampilkan bit mentah di balik tiap karakter, encoder URL memperlihatkan gimana byte non-ASCII berubah jadi urutan %, dan Base64 menunjukkan cara mengemas byte apa pun jadi teks yang aman dicetak. Semuanya jalan lokal di browsermu, jadi kamu bebas bereksperimen dengan teks sensitif tanpa datanya keluar dari perangkat.