Apakah itu Unicode: Panduan Lengkap, Penggunaan dan Pengekodan

Kemaskini terakhir: 20 Ogos 2025
Pengarang TecnoDigital
  • Unicode memberikan titik kod unik kepada setiap aksara dan menyegerakkan himpunannya dengan ISO/IEC 10646.
  • UTF-8, UTF-16 dan UTF-32 mengekod aksara yang sama dan membenarkan penukaran tanpa kehilangan.
  • Sifat normalisasi, Bidi dan UCD memastikan perbandingan, susunan dan pemaparan yang konsisten.
  • Mengguna pakai Unicode (sebaik-baiknya UTF-8 di web) menghalang rasuah dan memudahkan pengantarabangsaan.

Ilustrasi generik tentang Unicode

Unicode ialah bahasa umum yang dituturkan oleh komputer semasa mengendalikan teks : ia memberikan nombor unik kepada setiap aksara dan simbol, daripada hampir semua sistem penulisan, supaya ia boleh disimpan, diproses dan dikongsi dengan lancar antara platform dan negara.

Piawaian ini muncul untuk mengatasi batasan set aksara lama ( set ASCII , halaman kod, EBCDIC, dll.), yang tidak memenuhi piawaian atau tidak serasi antara satu sama lain, dan hari ini ia disegerakkan dengan ISO/IEC 10646, menyelenggara algoritma (seperti algoritma dwiarah) dan mentakrifkan sifat dan peraturan penormalan supaya semuanya berfungsi secara konsisten.

Apakah Unicode dan mengapa ia begitu penting?

Unicode ialah piawaian pengekodan aksara universal dan sentiasa berkembang yang menerangkan setiap aksara dengan nama, titik kod dan satu set sifat (skrip, kategori, arah, kes, dll.). Jawatankuasa Teknikal Unicode (UTC), dalam Konsortium Unicode, memastikan ia selari dengan piawaian ISO/IEC 10646.

Matlamatnya adalah universaliti, keseragaman dan keunikan : repertoir luas yang membolehkan pertukaran teks berbilang bahasa yang jelas, dengan peraturan yang jelas dan boleh dihasilkan semula. Disebabkan ini, teknologi moden (sistem pengendalian, pelayar, XML, Java, pangkalan data) boleh mencampurkan skrip Latin dan Arab, ideogram CJK, emoji dan simbol teknikal atau muzik dalam dokumen yang sama.

Aksara, glyph dan titik kod

Dalam Unicode, aksara ialah unit maklumat abstrak dan titik kod ialah pengecam berangkanya . Glyph ialah bentuk visual (apa yang anda lihat pada skrin), yang bergantung pada fon . Satu aksara boleh mempunyai berbilang glif dan kadangkala glif mewakili lebih daripada satu aksara.

Notasi biasa untuk titik kod ialah U+XXXX dalam heksadesimal . Contoh ilustrasi daripada bahan yang dianalisis: huruf kecil 'l' ialah U+006C, huruf kecil 'ü' yang telah digubah terlebih dahulu ialah U+00FC, 'é' ialah U+00E9 dan beta Yunani: huruf besar ialah U+0392 dan huruf kecil U+03B2 (dalam beberapa teks 'β' dipetik dengan U+0392, tetapi kod tersebut sepadan dengan huruf besar 'Β').

Ruang kod Unicode mempunyai 1.114.112 kedudukan yang mungkin (sehingga U+10FFFF) , yang disusun untuk merangkumi dan mengklasifikasikan semua sistem tulisan dan simbol, dengan puluhan ribu tugasan yang berkesan dan semakin berkembang dalam setiap versi.

Pelan, kawasan dan blok

Unicode membahagikan ruang aksaranya kepada 17 satah sehingga 65.536 titik kod setiap satu . Organisasi ini memudahkan pengumpulan skrip dan simbol berkaitan dan mencari apa yang anda cari dengan cepat.

Satah yang paling relevan : Satah Berbilang Bahasa Asas (BMP, satah 0) menyatukan hampir semua abjad moden dan banyak simbol; Satah Berbilang Bahasa Tambahan (SMP, satah 1) menyimpan skrip sejarah dan simbol teknikal (cth., muzik dan matematik); Satah Ideografi Tambahan (SIP, satah 2) mengembangkan ideogram CJK; satah 14 (SSP) termasuk label khas; dan satah 15 dan 16 adalah untuk kegunaan peribadi.

Blok dan kawasan : peta secara tidak formal dibahagikan kepada kawasan dan secara formal dibahagikan kepada blok bersebelahan. Blok digunakan untuk menjadualkan dan mendokumentasikan aksara, walaupun ia tidak selalunya sepadan dengan pengelompokan linguistik yang bermakna.

  Apakah perbezaan antara Sains dan Teknologi?

ideogram CJK dan projek Unihan

Ideogram Asia Timur (Han) disatukan dalam Unicode dengan variasi gaya mengikut wilayah , tetapi semuanya merujuk kepada watak abstrak yang sama. Pengurusannya dikendalikan oleh Kumpulan Pelapor Ideografi (IRG), sebuah kumpulan ISO/IEC JTC1/SC2/WG2 dengan perwakilan dari China, Jepun, Korea, Vietnam, Hong Kong, Macau, Singapura, Amerika Syarikat dan lain-lain.

Pangkalan data Unihan menyatukan maklumat tambahan (bacaan, makna, padanan) yang penting untuk mengendalikan ideogram ini dalam pelbagai bahasa dan piawaian sejarah atau korporat.

Blok dan sambungan CJK utama :

  • CJK Ideograf Bersatu (BMP, U+4E00–U+9FFF): 20.992 aksara yang biasa digunakan.
  • Sambungan A (BMP, U+3400–U+4DBF): 6.592 ideogram kurang kerap.
  • Sambungan B–H: dalam SMP/SIP/TIP, mereka menambah sehingga berpuluh-puluh ribu lagi (B: U+20000–U+2A6DF, 42.720; C: U+2A700–U+2B73F, 4.154; D: U+2B740–U+2B81F, 222; E: U+2A820–U+2B5.762F, 2; D: U+0B2–U+7.473B30000F, 3134; E: U+4.939B31350F, 323; E: U+4.192; F: U+XNUMXCEBXNUMX–U+XNUMXEBEF, XNUMX;
  • Blok CJK lain yang berkaitan: Radikal Kangxi (U+2F00–U+2FDF), simbol dan tanda baca CJK (U+3000–U+303F), Format keserasian dan keserasian, Tambahan ideogram keserasian, dsb.

Unicode menjangkakan bahawa penggabungan ideogram tidak akan mempunyai penghujung mutlak dan mempertimbangkan mekanisme seperti jujukan penerangan ideografik untuk mewakili simbol yang tidak dikodkan dengan memecahkannya kepada komponen sedia ada (dengan berhati-hati: tanpa penguraian kanonik atau jaminan dalam operasi seperti mencari atau memesan).

Borang pengekodan: UTF-8, UTF-16 dan UTF-32

Unicode mentakrifkan bentuk transformasi (UTF) yang menukar titik kod kepada unit storan supaya perisian boleh memproses teks dengan cekap mengikut konteksnya.

UTF-8 ialah format pengekodan berorientasikan bait, panjang berubah-ubah yang serasi dengan ASCII dalam julat U+0000–U+007F dalam satu bait. Piawaian semasa menggunakan 1 hingga 4 bait setiap aksara; beberapa teks lama menyebut 1–6, tetapi dalam Unicode moden ia adalah 1–4. Ia adalah format dominan di web.

UTF-16 menggunakan unit 16-bit

(satu atau dua unit kod setiap aksara) : kebanyakan aksara BMP muat dalam satu unit; aksara tambahan menggunakan pasangan pengganti dalam julat U+D800–U+DFFF.

UTF-32 mempunyai panjang tetap: 4 bait setiap aksara, ringkas tetapi memerlukan banyak ruang; berguna apabila pengindeksan aksara langsung adalah penting dan ingatan bukan satu isu.

Bagaimana bit diedarkan dalam UTF-8

Format UTF-8 mengagihkan bit titik kod ke dalam jujukan 1 hingga 4 bait dengan pengepala yang boleh dikenali, yang mengelakkan kekaburan dan memudahkan pengesanan sempadan aksara.

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

Satu kelebihan utama UTF-8 ialah ia mengelakkan masalah susunan bait (endianness) dan membolehkan pemprosesan strim teks yang sangat cekap, selain serasi ke belakang dengan ASCII.

Skim pengekodan, endian dan BOM

Selain borang UTF, Unicode menerangkan skema bersiri yang menyelesaikan bagaimana bait dihantar antara sistem dengan endianness yang berbeza dan bagaimana aspek seperti susunan bait diisyaratkan.

  • UTF-8: endianness tidak berlaku. Ia boleh dibawa Tanda Pesanan Byte (BOM) sebagai petunjuk, walaupun ia tidak diperlukan atau disyorkan secara lalai.
  • UTF-16: Varian BE/LE (besar/kecil-endian) dan BOM pilihan (jika tiada dan tidak ditakrifkan oleh protokol, big-endian diandaikan).
  • UTF-32: Varian BE/LE dengan peraturan analog; BOM dibenarkan sebagai tanda pesanan.
  Teorem Pythagoras dalam Kehidupan Seharian

Terdapat juga varian khusus seperti UTF-16BE/UTF-16LE dan UTF-32BE/UTF-32LE (tanpa BOM mengikut konvensyen), dan pengekodan keserasian sejarah lain seperti UTF-7 atau UTF-EBCDIC, sebagai tambahan kepada GB18030 (bersamaan Cina dengan UTF-8 dengan sokongan untuk bahasa Cina ringkas dan tradisional).

Normalisasi, komposisi dan kesetaraan

Banyak aksara boleh diwakili sebagai pra-karangan atau sebagai jujukan tanda asas + gabungan . Contoh klasik daripada bahan yang disemak semula: 'Ä' pra-karangan ialah U+00C4, manakala bentuk terurai ialah 'A' (U+0041) + diaeresis (U+0308). Huruf Vietnam 'ỗ' boleh diwakili sebagai 'o' (U+006F) + sirkumfleks (U+0302) + tilde (U+0303).

Unicode mentakrifkan bentuk piawai dan dua jenis padanan : kanonik (kandungan penting yang sama) dan keserasian (bentuk yang mungkin kelihatan sama tetapi mempunyai perbezaan semantik). Penyeragaman memastikan perbandingan rentetan yang boleh dipercayai dan mengurangkan pertindihan.

Algoritma dua arah dan aksara khas

Untuk skrip dari kanan ke kiri, seperti bahasa Arab atau Ibrani, Unicode menggabungkan algoritma dwiarah (Bidi) yang piawai dan berkembang (contohnya, semakan dalam 6.3), supaya teks campuran dengan bahasa Latin dan Arab diwakili dalam susunan visual yang betul.

Kelas titik kod yang perlu diketahui mengikut bahan yang diterima: aksara grafik (huruf, tanda, simbol), pemformatan (aksara tidak kelihatan yang mempengaruhi pemprosesan: pemisah baris U+2028, pemisah perenggan U+2029, ruang keras U+00A0), kod kawalan yang diwarisi untuk keserasian (julat U+0000–U+001F, U+007F, U+0080–U+009F), kegunaan peribadi, kedudukan terpelihara, pengganti (U+D800–U+DFFF untuk UTF-16) dan bukan aksara (U+FFFE, U+FFFF dalam setiap satah).

Unicode, ISO/IEC 10646 dan piawaian lain (ASCII, ANSI, halaman kod)

Unicode disegerakkan dengan ISO/IEC 10646 (UCS) dan mengekalkan pemetaan kepada piawaian sebelumnya (ASCII, ISO 8859-1, ANSI Z39.64, JIS X 0208, KS X 1001, GB 2312, GB 18030, HKSCS, CNS 11643, dll.), selain daripada menempah ruang untuk kegunaan peribadi oleh pengeluar.

ASCII vs. Unicode : ASCII ialah set aksara 7-bit dengan 128 aksara , mencukupi untuk bahasa Inggeris asas, tetapi tidak mencukupi untuk bahasa dengan diakritik, ideogram atau emoji . Unicode merangkumi lebih daripada 140.000 aksara dan terus berkembang, dengan pengekodan 8/16/32-bit mengikut format UTF-12.

ANSI dan halaman kod : 'ANSI' biasanya merujuk kepada halaman kod Windows 8-bit yang terhad dan tidak serasi antara satu sama lain. Komputer yang menjalankan OEM-Latin II yang membuka teks dalam IBM EBCDIC-Cyrillic akan melihat aksara yang salah. Unicode mengatasi masalah ini dengan satu set aksara dan penukaran tanpa kehilangan antara bentuknya sendiri.

Pelaksanaan pada sistem (Windows, Solaris) dan penukaran

Windows secara dalaman menggunakan UTF-16 untuk API modennya dan menawarkan ciri seperti MultiByteToWideChar dan WideCharToMultiByte untuk menukar antara halaman Unicode dan kod (SBCS/DBCS/MBCS). Jika anda terpaksa menukar ke halaman kod, mungkin terdapat kehilangan data jika ia tidak dapat mewakili semua aksara.

Aplikasi baharu pada Windows harus menggunakan UTF-16 secara dalaman dan membiarkan penukaran kepada tepi (I/O, protokol), meminimumkan kerosakan. Walaupun begitu, Windows mengekalkan keserasian dengan halaman kod apabila tidak dapat dielakkan.

Oracle Solaris 11, menurut dokumentasi yang disemak semula, menyokong Unicode 6.0 dan ISO/IEC 10646:2011 pada peringkat sistem, menggunakan UTF-8 sebagai format lalai dalam set parameternya, yang menjimatkan masalah susunan bait dan mengekalkan ASCII secara telus.

Unicode dalam Amalan: Web, Dokumen dan Pengaturcaraan

Di web, adalah perkara biasa untuk menyiarkan dan menyimpan kandungan dalam UTF-8 . Dalam HTML, isytiharkan '<meta charset="UTF-8">' untuk memastikan keserasian dan gunakan entiti angka heksadesimal apabila perlu (contoh: euro '&#x20AC;').

  Komputer HP: Model Terbaik

Dalam Word, anda boleh memasukkan simbol Unicode dengan mudah dengan meletakkan kursor, pergi ke Sisip > Simbol atau dengan menaip kod dan menekan Alt+X; ini menukar nilai kepada aksaranya, mengikut prosedur standard. Lihat juga senarai kod Alt untuk memasukkan simbol daripada papan kekunci.

Dalam bahasa pengaturcaraan : dalam Python 3, rentetan sudah pun Unicode; dalam Java dan C#, anda boleh menggunakan aksara escape '\uXXXX'; dalam HTML, '&#xXXXX;'. Perkara penting ialah penyuntingan, kompilasi dan penghantaran menggunakan pengekodan yang sama untuk mengelakkan ralat.

Menyalin dan menampal simbol berfungsi jika keseluruhan rentetan berada dalam Unicode . Jika sebahagian daripadanya menggunakan pengekodan yang berbeza, tanda tanya, petak atau simbol pelik lain mungkin muncul.

Pangkalan data aksara (UCD), sifat dan kategori

Pangkalan Data Aksara Unicode (UCD) menerbitkan, untuk setiap titik kod, namanya, kategori, skrip, sifat kes, kearah dan ciri-ciri lain . Maklumat ini penting untuk enjin pemaparan dan pemprosesan teks berfungsi dengan betul.

Disebabkan oleh sifat-sifat ini , komponen dan algoritma yang berbeza (seperti pengisihan, segmentasi perkataan atau transformasi huruf besar/kecil) boleh bertindak secara konsisten dengan data yang sama.

Versi dan sambungan standard: sorotan

Unicode berkembang dengan setiap versi , menggabungkan skrip, simbol dan emoji baharu. Pencapaian penting termasuk versi 1.0 pada tahun 1991 dengan 7.161 aksara, dan pengembangan berikutnya yang telah menambah beribu-ribu simbol, ideogram, emoji dan skrip baharu.

Contohnya, pada tahun 2022 , versi 15.0 telah menambah 4.192 ideogram CJK tambahan dan elemen lain, mencapai kira-kira 149.186 aksara.

Alat untuk meneroka jadual Unicode

Terdapat utiliti percuma untuk mencari dan menganalisis aksara : Pelayar Aksara Unibook, SYMBL dan Branah.com membolehkan anda membuat pertanyaan tentang sifat, nama dan blok aksara, menjadikannya lebih mudah untuk pembangun dan pencipta kandungan mencari maklumat yang mereka perlukan dengan cepat.

Kes penggunaan: borang alamat, pengantarabangsaan dan perniagaan

Membenarkan pengguna memasukkan alamat dalam bahasa dan skrip mereka sendiri membantu mengurangkan ralat dan meningkatkan pengalaman pengguna. Di samping itu, interoperabiliti Unicode menghalang isu penukaran antara sistem yang berbeza, mengekalkan integriti teks di seluruh rantaian digital.

Atas sebab ini, Unicode merupakan elemen asas yang memastikan teks kekal muktamad di seluruh infrastruktur digital , daripada borang web hinggalah sistem pangkalan data dan dokumen bercetak, tidak kira sama ada anda menggunakan 'ñ', Arab, Cina atau emoji dalam ayat yang sama.

Penomboran binari
Artikel berkaitan:
Penomboran binari: Bahasa rahsia komputer