Apa itu Unicode: Panduan Lengkap, Penggunaan, dan Pengodean

Pembaharuan Terakhir: 20 Agustus 2025
  • Unicode menetapkan titik kode unik untuk setiap karakter dan menyinkronkan repertoarnya dengan ISO/IEC 10646.
  • UTF-8, UTF-16, dan UTF-32 mengkodekan karakter yang sama dan memungkinkan konversi tanpa kehilangan.
  • Properti Normalisasi, Bidi, dan UCD memastikan perbandingan, pemesanan, dan rendering yang konsisten.
  • Mengadopsi Unicode (sebaiknya UTF-8 di web) mencegah kerusakan dan memfasilitasi internasionalisasi.

Ilustrasi umum tentang Unicode

Unicode adalah bahasa umum yang digunakan komputer saat memproses teks : ia memberikan nomor unik untuk setiap karakter dan simbol, dari hampir semua sistem penulisan, sehingga dapat disimpan, diproses, dan dibagikan dengan lancar antar platform dan negara.

Standar ini muncul untuk mengatasi keterbatasan set karakter lama ( set ASCII , halaman kode, EBCDIC, dll.), yang kurang memadai atau tidak kompatibel satu sama lain, dan saat ini disinkronkan dengan ISO/IEC 10646, mempertahankan algoritma (seperti algoritma dua arah) dan mendefinisikan properti serta aturan normalisasi sehingga semuanya bekerja secara konsisten.

Apa itu Unicode dan mengapa itu begitu penting?

Unicode adalah standar pengkodean karakter universal yang terus berkembang dan mendeskripsikan setiap karakter dengan nama, titik kode, dan serangkaian properti (tulisan, kategori, arah, huruf besar/kecil, dll.). Komite Teknis Unicode (UTC), dalam Konsorsium Unicode, menjaganya agar tetap sinkron dengan standar ISO/IEC 10646.

Tujuannya adalah universalitas, keseragaman, dan keunikan : repertoar luas yang memungkinkan pertukaran teks multibahasa tanpa ambiguitas, dengan aturan yang jelas dan dapat direproduksi. Berkat ini, teknologi modern (sistem operasi, peramban, XML, Java, basis data) dapat mencampur aksara Latin dan Arab, ideogram CJK, emoji, dan simbol teknis atau musik dalam dokumen yang sama.

Karakter, glif, dan titik kode

Dalam Unicode, karakter adalah unit informasi abstrak, dan titik kode adalah pengenal numeriknya . Glyph adalah bentuk visual (apa yang Anda lihat di layar), yang bergantung pada font . Satu karakter dapat memiliki banyak glyph, dan terkadang sebuah glyph mewakili lebih dari satu karakter.

Notasi umum untuk titik kode adalah U+XXXX dalam heksadesimal . Contoh ilustratif dari materi yang dianalisis: huruf kecil 'l' adalah U+006C, huruf kecil 'ü' yang telah dikomposisikan sebelumnya adalah U+00FC, 'é' adalah U+00E9 dan huruf Yunani beta: huruf besar adalah U+0392 dan huruf kecil U+03B2 (dalam beberapa teks 'β' dikutip dengan U+0392, tetapi kode tersebut sesuai dengan huruf besar 'Β').

Ruang kode Unicode memiliki 1.114.112 posisi yang mungkin (hingga U+10FFFF) , yang diorganisir untuk mencakup dan mengklasifikasikan semua sistem penulisan dan simbol, dengan puluhan ribu penugasan yang efektif dan terus bertambah di setiap versinya.

Rencana, area dan blok

Unicode membagi ruang karakter menjadi 17 bidang yang masing-masing berisi hingga 65.536 titik kode . Pengorganisasian ini memudahkan pengelompokan aksara dan simbol yang terkait serta memudahkan pencarian.

Bidang yang paling relevan : Bidang Multibahasa Dasar (BMP, bidang 0) menyatukan hampir semua alfabet modern dan banyak simbol; Bidang Multibahasa Tambahan (SMP, bidang 1) menyimpan aksara historis dan simbol teknis (misalnya, musik dan matematika); Bidang Ideografis Tambahan (SIP, bidang 2) memperluas ideogram CJK; bidang 14 (SSP) mencakup label khusus; dan bidang 15 dan 16 untuk penggunaan pribadi.

Blok dan area : peta secara informal dibagi menjadi beberapa area dan secara formal menjadi blok-blok yang berdekatan. Blok digunakan untuk membuat tabel dan mendokumentasikan karakter, meskipun tidak selalu sesuai dengan pengelompokan linguistik yang bermakna.

  15 Manfaat Teleworking untuk Pekerjaan dan Kesejahteraan Pribadi Anda

Ideogram CJK dan proyek Unihan

Ideogram Asia Timur (Han) disatukan dalam Unicode dengan variasi gaya menurut wilayah , tetapi semuanya merujuk pada karakter abstrak yang sama. Pengelolaannya ditangani oleh Ideographic Rapporteur Group (IRG), sebuah kelompok ISO/IEC JTC1/SC2/WG2 dengan perwakilan dari Tiongkok, Jepang, Korea, Vietnam, Hong Kong, Makau, Singapura, Amerika Serikat, dan negara-negara lain.

Basis data Unihan menyatukan informasi tambahan (bacaan, arti, kesamaan) yang penting untuk menangani ideogram ini dalam berbagai bahasa dan standar historis atau korporat.

Blok dan perluasan utama CJK :

  • Ideograf Terpadu CJK (BMP, U+4E00–U+9FFF): 20.992 karakter yang umum digunakan.
  • Ekstensi A (BMP, U+3400–U+4DBF): 6.592 ideogram yang kurang sering muncul.
  • Ekstensi B–H:di SMP/SIP/TIP, jumlahnya mencapai puluhan ribu lebih (B: U+20000–U+2A6DF, 42.720; C: U+2A700–U+2B73F, 4.154; D: U+2B740–U+2B81F, 222; E: U+2B820–U+2CEAF, 5.762; F: U+2CEB0–U+2EBEF, 7.473; G: U+30000–U+3134F, 4.939;
  • Blok CJK terkait lainnya: Radikal Kangxi (U+2F00–U+2FDF), Simbol dan tanda baca CJK (U+3000–U+303F), Kompatibilitas dan format kompatibilitas, Suplemen ideogram kompatibilitas, dll.

Unicode mengantisipasi bahwa penggabungan ideogram tidak akan memiliki akhir yang mutlak dan mempertimbangkan mekanisme seperti urutan deskripsi ideografis untuk merepresentasikan simbol yang tidak dikodekan dengan memecahnya menjadi komponen yang ada (dengan peringatan: tanpa dekomposisi kanonik atau jaminan dalam operasi seperti pencarian atau pengurutan).

Bentuk pengkodean: UTF-8, UTF-16 dan UTF-32

Unicode mendefinisikan bentuk transformasi (UTF) yang mengubah titik kode menjadi unit penyimpanan sehingga perangkat lunak dapat memproses teks secara efisien sesuai dengan konteksnya.

UTF-8 adalah format pengkodean berorientasi byte dengan panjang variabel yang kompatibel dengan ASCII dalam rentang U+0000–U+007F dalam satu byte. Standar saat ini menggunakan 1 hingga 4 byte per karakter; beberapa teks lama menyebutkan 1–6, tetapi dalam Unicode modern adalah 1–4. Ini adalah format dominan di web.

UTF-16 menggunakan unit 16-bit.

(satu atau dua unit kode per karakter) : sebagian besar karakter BMP muat dalam satu unit; karakter tambahan menggunakan pasangan pengganti dalam rentang U+D800–U+DFFF.

UTF-32 memiliki panjang tetap: 4 byte per karakter, sederhana tetapi membutuhkan banyak ruang; berguna ketika pengindeksan karakter langsung penting dan memori bukan masalah.

Bagaimana bit didistribusikan dalam UTF-8

Format UTF-8 mendistribusikan bit titik kode ke dalam urutan 1 hingga 4 byte dengan header yang mudah dikenali, yang menghindari ambiguitas dan mempermudah pendeteksian batas karakter.

Rentang Unicode Pola bit Bytes
U+0000..U+007F 0xxxxxx 1
U+0080..U+07FF 110yyyyy 10xxxxxx 2
U+0800..U+FFFF 1110zzzz 10yyyyyy 10xxxxxx 3
U+010000..U+10FFFF 11110uuu 10uuzzzz 10yyyyyy 10xxxxxx 4

Keunggulan utama UTF-8 adalah menghindari masalah urutan byte (endianness) dan memungkinkan pemrosesan aliran teks yang sangat efisien, di samping kompatibilitas mundur dengan ASCII.

Skema pengkodean, endianness, dan BOM

Selain bentuk UTF, Unicode menjelaskan skema serialisasi yang menentukan bagaimana byte ditransmisikan antara sistem dengan endianness yang berbeda dan bagaimana aspek-aspek seperti urutan byte diberi sinyal.

  • UTF-8: endianness tidak berlaku. Itu bisa dibawa Tanda Urutan Byte (BOM) sebagai petunjuk, meskipun tidak diperlukan atau direkomendasikan secara default.
  • UTF-16: Varian BE/LE (big/little-endian) dan BOM opsional (jika hilang dan tidak ditentukan oleh protokol, big-endian diasumsikan).
  • UTF-32: Varian BE/LE dengan aturan analog; BOM diizinkan sebagai tanda pesanan.
  Komponen komputer: panduan perangkat keras lengkap

Terdapat juga varian khusus seperti UTF-16BE/UTF-16LE dan UTF-32BE/UTF-32LE (tanpa BOM sesuai konvensi), dan pengkodean kompatibilitas historis lainnya seperti UTF-7 atau UTF-EBCDIC, selain GB18030 (setara dengan UTF-8 versi Tiongkok dengan dukungan untuk aksara Tiongkok sederhana dan tradisional).

Normalisasi, komposisi dan kesetaraan

Banyak karakter dapat direpresentasikan sebagai bentuk pra-komposisi atau sebagai rangkaian dasar + tanda gabungan . Contoh klasik dari materi yang direvisi: 'Ä' pra-komposisi adalah U+00C4, sedangkan bentuk dekomposisinya adalah 'A' (U+0041) + diaeresis (U+0308). Karakter Vietnam 'ỗ' dapat direpresentasikan sebagai 'o' (U+006F) + sirkumfleks (U+0302) + tilde (U+0303).

Unicode mendefinisikan bentuk standar dan dua jenis kesetaraan : kanonik (konten esensial yang sama) dan kompatibilitas (bentuk yang mungkin tampak sama tetapi memiliki perbedaan semantik). Standardisasi memastikan perbandingan string yang andal dan mengurangi duplikasi.

Algoritma dua arah dan karakter khusus

Untuk aksara yang ditulis dari kanan ke kiri, seperti Arab atau Ibrani, Unicode menggabungkan algoritma dua arah (Bidi) yang terstandarisasi dan terus berkembang (misalnya, revisi dalam versi 6.3), sehingga teks campuran dengan aksara Latin dan Arab direpresentasikan dalam urutan visual yang benar.

Kelas-kelas kode karakter yang harus diketahui sesuai dengan materi yang diterima: karakter grafis (huruf, tanda, simbol), pemformatan (karakter tak terlihat yang memengaruhi pemrosesan: U+2028 pemisah baris, U+2029 pemisah paragraf, U+00A0 spasi keras), kode kontrol yang diwariskan untuk kompatibilitas (rentang U+0000–U+001F, U+007F, U+0080–U+009F), penggunaan pribadi, posisi yang dicadangkan, pengganti (U+D800–U+DFFF untuk UTF-16) dan bukan karakter (U+FFFE, U+FFFF di setiap bidang).

Unicode, ISO/IEC 10646 dan standar lainnya (ASCII, ANSI, halaman kode)

Unicode disinkronkan dengan ISO/IEC 10646 (UCS) dan mempertahankan pemetaan ke standar sebelumnya (ASCII, ISO 8859-1, ANSI Z39.64, JIS X 0208, KS X 1001, GB 2312, GB 18030, HKSCS, CNS 11643, dll.), selain juga menyediakan ruang untuk penggunaan pribadi oleh produsen.

ASCII vs. Unicode : ASCII adalah kumpulan karakter 7-bit dengan 128 karakter , cukup untuk bahasa Inggris dasar, tetapi tidak cukup untuk bahasa dengan diakritik, ideogram, atau emoji . Unicode mencakup lebih dari 140.000 karakter dan terus berkembang, dengan pengkodean 8/16/32-bit sesuai dengan format UTF-12.

ANSI dan halaman kode : 'ANSI' biasanya mengacu pada halaman kode Windows 8-bit yang terbatas dan saling tidak kompatibel. Komputer yang menjalankan OEM-Latin II yang membuka teks dalam IBM EBCDIC-Cyrillic akan melihat karakter yang salah. Unicode mengatasi masalah ini dengan satu set karakter tunggal dan konversi tanpa kehilangan data antar bentuknya sendiri.

Implementasi pada sistem (Windows, Solaris) dan konversi

Windows secara internal menggunakan UTF-16 untuk API modernnya dan menawarkan fitur seperti MultiByteToWideChar dan WideCharToMultiByte untuk mengkonversi antara Unicode dan halaman kode (SBCS/DBCS/MBCS). Jika Anda terpaksa mengkonversi ke halaman kode, mungkin akan terjadi kehilangan data jika halaman kode tersebut tidak dapat merepresentasikan semua karakter.

Aplikasi baru di Windows sebaiknya menggunakan UTF-16 secara internal dan menyerahkan konversi ke bagian tepi (I/O, protokol), meminimalkan kerusakan. Meskipun demikian, Windows tetap mempertahankan kompatibilitas dengan halaman kode jika tidak dapat dihindari.

Menurut dokumentasi yang telah direvisi, Oracle Solaris 11 mendukung Unicode 6.0 dan ISO/IEC 10646:2011 pada tingkat sistem, menggunakan UTF-8 sebagai format default dalam kumpulan parameternya, yang menghemat masalah pengurutan byte dan secara transparan mempertahankan ASCII.

Unicode dalam Praktik: Web, Dokumen, dan Pemrograman

Di web, umum untuk menyajikan dan menyimpan konten dalam UTF-8 . Dalam HTML, deklarasikan '<meta charset="UTF-8">' untuk memastikan kompatibilitas, dan gunakan entitas numerik heksadesimal bila perlu (contoh: euro '&#x20AC;').

  Panduan perakitan komputer langkah demi langkah lengkap

Di Word, Anda dapat dengan mudah menyisipkan simbol Unicode dengan menempatkan kursor, lalu masuk ke Sisipkan > Simbol, atau dengan mengetikkan kode dan menekan Alt+X; ini akan mengubah nilai menjadi karakternya, mengikuti prosedur standar. Lihat juga daftar kode Alt untuk menyisipkan simbol dari keyboard.

Dalam bahasa pemrograman : di Python 3, string sudah menggunakan Unicode; di Java dan C#, Anda dapat menggunakan karakter escape '\uXXXX'; di HTML, '&#xXXXX;'. Yang penting adalah pengeditan, kompilasi, dan transmisi menggunakan pengkodean yang sama untuk menghindari kesalahan.

Menyalin dan menempel simbol akan berfungsi jika seluruh string menggunakan Unicode . Jika sebagian string menggunakan pengkodean yang berbeda, tanda tanya, kotak, atau simbol aneh lainnya mungkin akan muncul.

Basis data karakter (UCD), properti dan kategori

Database Karakter Unicode (UCD) menerbitkan, untuk setiap titik kode, nama, kategori, skrip, properti huruf besar/kecil, arah, dan karakteristik lainnya . Informasi ini sangat penting agar mesin rendering dan pemrosesan teks dapat berfungsi dengan benar.

Berkat sifat-sifat ini , berbagai komponen dan algoritma (seperti pengurutan, segmentasi kata, atau transformasi huruf besar/kecil) dapat berperilaku konsisten dengan data yang sama.

Versi dan ekstensi standar: sorotan

Unicode berkembang dengan setiap versinya , menggabungkan aksara, simbol, dan emoji baru. Tonggak penting termasuk versi 1.0 pada tahun 1991 dengan 7.161 karakter, dan perluasan selanjutnya yang telah menambahkan ribuan simbol, ideogram, emoji, dan aksara baru.

Sebagai contoh, pada tahun 2022 , versi 15.0 menambahkan 4.192 ideogram CJK tambahan dan elemen lainnya, sehingga mencapai sekitar 149.186 karakter.

Alat untuk menjelajahi tabel Unicode

Tersedia utilitas gratis untuk mencari dan menganalisis karakter : Unibook Character Browser, SYMBL, dan Branah.com memungkinkan Anda untuk menanyakan properti, nama, dan blok karakter, sehingga memudahkan pengembang dan pembuat konten untuk menemukan informasi yang mereka butuhkan dengan cepat.

Kasus penggunaan: formulir alamat, internasionalisasi, dan bisnis

Memungkinkan pengguna untuk memasukkan alamat dalam bahasa dan aksara mereka sendiri membantu mengurangi kesalahan dan meningkatkan pengalaman pengguna. Selain itu, interoperabilitas Unicode mencegah masalah konversi antara sistem yang berbeda, menjaga integritas teks di seluruh rantai digital.

Oleh karena itu, Unicode adalah elemen fundamental yang memastikan bahwa teks tetap final di seluruh infrastruktur digital , mulai dari formulir web hingga sistem basis data dan dokumen cetak, terlepas dari apakah Anda menggunakan 'ñ', huruf Arab, huruf Cina, atau emoji dalam kalimat yang sama.

Penomoran biner
Artikel terkait:
Penomoran biner: Bahasa rahasia komputer