Apakah Pengekodan Watak Seperti ANSI dan Unicode, dan Bagaimana Mereka Berbeza?
ASCII, UTF-8, ISO-8859 ... Anda mungkin melihat moniker ini yang mengambang di sekeliling, tetapi apakah maksudnya? Bacalah ketika kami menerangkan pengekodan aksara dan bagaimana akronim ini berkaitan dengan teks biasa yang kita lihat di skrin.
Blok Bangunan Asas
Apabila kita bercakap tentang bahasa bertulis, kita bercakap tentang huruf menjadi blok bangunan kata-kata, yang kemudian membina ayat, perenggan, dan sebagainya. Huruf adalah simbol yang mewakili bunyi. Apabila anda bercakap tentang bahasa, anda bercakap mengenai kumpulan bunyi yang bersatu untuk membentuk beberapa makna. Setiap sistem bahasa mempunyai set aturan dan definisi yang kompleks yang mentadbir makna tersebut. Sekiranya anda mempunyai perkataan, ia tidak berguna jika anda tidak tahu apa bahasa itu dan anda menggunakannya dengan orang lain yang bercakap bahasa itu.
(Perbandingan skrip Grantha, Tulu, dan Malayalam, Imej dari Wikipedia)
Dalam dunia komputer, kita menggunakan istilah "watak". Watak adalah sejenis konsep abstrak, yang ditakrifkan oleh parameter tertentu, tetapi ia adalah unit makna asas. Latin 'A' tidak sama dengan Greek 'alpha' atau 'alif' bahasa Arab kerana mereka mempunyai konteks yang berbeza - mereka dari bahasa yang berbeza dan mempunyai sebutan yang sedikit berbeza - sehingga kita boleh mengatakan bahawa mereka adalah watak yang berbeza. Perwakilan visual watak dipanggil "glyph" dan set berlainan glyph dipanggil fon. Kumpulan aksara tergolong dalam "set" atau "repertoir."
Apabila anda menaip perenggan dan anda menukar font, anda tidak mengubah nilai fonetik huruf, anda berubah rupa. Ia hanya kosmetik (tetapi tidak penting!). Beberapa bahasa, seperti Mesir kuno dan Cina, mempunyai ideogram; ini mewakili keseluruhan idea bukan bunyi, dan sebutan mereka boleh berubah mengikut masa dan jarak. Jika anda menggantikan satu watak yang lain, anda menggantikan idea. Ia lebih daripada sekadar menukar huruf, ia mengubah ideogram.
Pengekodan Watak
(Imej dari Wikipedia)
Apabila anda menaip sesuatu pada papan kekunci, atau memuatkan fail, bagaimana komputer tahu apa yang hendak dipaparkan? Itulah pengekodan aksara untuk. Teks pada komputer anda sebenarnya bukan huruf, ia adalah satu siri nilai alfanumerik yang dipasangkan. Pengkodan watak bertindak sebagai kunci untuk nilai yang bersesuaian dengan watak-watak mana, sama seperti bagaimana orthography menentukan yang bunyi sesuai dengan huruf mana. Kod morse adalah sejenis pengekodan aksara. Ia menerangkan bagaimana kumpulan unit panjang dan pendek seperti bip mewakili watak-watak. Dalam kod Morse, aksara hanya huruf Inggeris, nombor, dan hentian penuh. Terdapat banyak pengekodan aksara komputer yang diterjemahkan ke dalam huruf, nombor, tanda aksen, tanda baca, simbol antarabangsa, dan sebagainya.
Selalunya pada topik ini, istilah "halaman kod" juga digunakan. Mereka pada dasarnya adalah pengekodan watak seperti yang digunakan oleh syarikat tertentu, sering dengan sedikit pengubahsuaian. Sebagai contoh, halaman kod Windows 1252 (dahulunya dikenali sebagai ANSI 1252) adalah bentuk yang diubah suai daripada ISO-8859-1. Mereka kebanyakannya digunakan sebagai sistem dalaman untuk merujuk kepada pengekodan watak standard dan diubah suai yang khusus kepada sistem yang sama. Pada awalnya, pengekodan watak tidak begitu penting kerana komputer tidak berkomunikasi antara satu sama lain. Dengan internet yang semakin meningkat untuk menjadi terkenal dan rangkaian menjadi satu kejadian biasa, ia telah menjadi semakin penting dalam kehidupan sehari-hari kita tanpa kita menyedarinya.
Banyak Jenis Berbeza
(Imej dari sarah sosiak)
Terdapat banyak pengekodan watak yang berbeza di luar sana, dan terdapat banyak sebab untuk itu. Pengekodan watak yang anda pilih untuk digunakan bergantung pada keperluan anda. Jika anda berkomunikasi dalam bahasa Rusia, masuk akal untuk menggunakan pengekodan aksara yang menyokong Cyrillic dengan baik. Jika anda berkomunikasi dalam bahasa Korea, maka anda akan mahu sesuatu yang menggambarkan Hangul dan Hanja dengan baik. Jika anda seorang ahli matematik, maka anda mahu sesuatu yang mempunyai semua simbol saintifik dan matematik diwakili dengan baik, serta Greek dan Latin glyphs. Sekiranya anda seorang penjaga gol, mungkin anda akan mendapat manfaat daripada teks terbalik. Dan, jika anda mahu semua jenis dokumen tersebut dilihat oleh mana-mana orang, anda mahu pengekodan yang cukup umum dan mudah diakses.
Mari kita perhatikan beberapa perkara yang lebih biasa.
(Petikan jadual ASCII, Imej dari asciitable.com)
- ASCII - Kod Standard Amerika untuk Pertukaran Maklumat adalah salah satu pengekodan aksara yang lebih tua. Ia pada asalnya dirumuskan berdasarkan kod telegraf dan berkembang dari waktu ke waktu untuk memasukkan lebih banyak simbol dan beberapa watak kawalan yang tidak dicetak pada masa kini. Ini mungkin asas seperti yang anda dapat dari segi sistem moden, kerana ia terhad kepada abjad Latin tanpa aksara beraksen. Pengekodan 7-bit membolehkan hanya 128 aksara, sebab itu terdapat beberapa varian tidak rasmi yang digunakan di seluruh dunia.
- ISO-8859 - Pengekodan watak piawai Organisasi Antarabangsa untuk Standardisasi yang paling banyak digunakan adalah nombor 8859. Setiap pengekodan tertentu ditetapkan oleh nombor, yang sering diawali oleh moniker deskriptif, mis. ISO-8859-3 (Latin-3), ISO-8859-6 (Latin / Arab). Ia adalah superset ASCII, yang bermaksud bahawa nilai 128 pertama dalam pengekodan adalah sama dengan ASCII. Ini 8-bit, bagaimanapun, dan membolehkan 256 aksara, jadi ia terbangun dari sana dan termasuk pelbagai watak yang lebih luas, dengan setiap pengekodan khusus yang memfokuskan pada satu set kriteria yang berbeza. Latin-1 termasuk sekumpulan surat dan simbol beraksen, tetapi kemudian digantikan dengan set yang disemak semula yang dipanggil Latin-9 yang termasuk glimpal terkini seperti simbol Euro.
(Petikan skrip Tibet, Unicode v4, dari unicode.org)
- Unicode - Standard pengekodan ini bertujuan untuk menjadi universal. Ia kini mengandungi 93 skrip yang dianjurkan dalam beberapa blok, dengan banyak lagi dalam karya. Unicode berfungsi dengan berbeza daripada set karakter lain, bukannya pengekodan secara langsung untuk glyph, setiap nilai ditujukan terus ke "titik kod." Ini adalah nilai heksadesimal yang bersesuaian dengan aksara tetapi glyphs sendiri disediakan dalam cara terpisah oleh program , seperti penyemak imbas web anda. Titik kod ini biasanya digambarkan seperti berikut: U + 0040 (yang diterjemahkan ke '@'). Pengekodan tertentu di bawah piawaian Unicode ialah UTF-8 dan UTF-16. Percubaan UTF-8 untuk membolehkan keserasian maksimum dengan ASCII. Ia 8-bit, tetapi membolehkan semua aksara melalui mekanisme penggantian dan berbilang pasang nilai setiap aksara. UTF-16 menampal keserasian ASCII yang sempurna untuk keserasian 16-bit yang lebih lengkap dengan standard.
- ISO-10646 - Ini bukan pengekodan yang sebenarnya, hanya set aksara Unicode yang telah diseragamkan oleh ISO. Ini kebanyakannya penting kerana ia merupakan himpunan watak yang digunakan oleh HTML. Beberapa fungsi yang lebih maju yang disediakan oleh Unicode yang membolehkan pengumpulan dan kanan ke kiri bersama skrip kiri ke kanan hilang. Walau bagaimanapun, ia berfungsi dengan baik untuk digunakan di internet kerana ia membolehkan penggunaan pelbagai skrip dan membolehkan penyemak imbas mentafsir glifter. Ini menjadikan penyetempatan agak mudah.
Pengekodan Apa yang Perlu Saya Gunakan?
Nah, ASCII berfungsi untuk kebanyakan penceramah bahasa Inggeris, tetapi tidak banyak lagi. Selalunya anda akan melihat ISO-8859-1, yang berfungsi untuk kebanyakan bahasa Eropah Barat. Versi lain ISO-8859 berfungsi untuk Cyrillic, Arabic, Greek, atau skrip tertentu yang lain. Walau bagaimanapun, jika anda ingin memaparkan skrip berganda dalam dokumen yang sama atau pada halaman web yang sama, UTF-8 membolehkan keserasian yang lebih baik. Ia juga berfungsi dengan baik untuk orang yang menggunakan tanda baca yang betul, simbol matematik, atau watak off-the-cuff, seperti kotak dan kotak centang.
(Berbilang bahasa dalam satu dokumen, Tangkapan skrin gujaratsamachar.com)
Walau bagaimanapun, terdapat kelemahan untuk setiap set. ASCII adalah terhad pada tanda baca, jadi ia tidak berfungsi dengan baik untuk mengedit secara typographically correct. Pernah taipkan salinan / tampal dari Word hanya untuk mempunyai beberapa kombinasi glyphs? Itulah kelemahan ISO-8859, atau lebih tepat lagi, yang sepatutnya dapat dikendalikan dengan halaman kod spesifik OS (kami melihat ANDA, Microsoft!). Kelemahan utama UTF-8 adalah kurangnya sokongan yang tepat dalam aplikasi penyuntingan dan penerbitan. Masalah lain ialah pelayar sering tidak mentafsir dan hanya memaparkan tanda pesanan byte aksara UTF-8 yang dikodkan. Ini menyebabkan glyphs yang tidak diingini dipaparkan. Dan tentu saja, mengisytiharkan satu pengekodan dan menggunakan aksara daripada yang lain tanpa mengisytiharkan / merujuknya dengan betul di laman web menjadikan sukar bagi penyemak imbas untuk memberikannya dengan betul dan untuk enjin carian mengindeksinya dengan tepat.
Untuk dokumen anda sendiri, manuskrip, dan sebagainya, anda boleh menggunakan apa sahaja yang anda perlukan untuk menyelesaikan tugas. Sejauh mana web berjalan, nampaknya kebanyakan orang bersetuju menggunakan versi UTF-8 yang tidak menggunakan tanda pesanan byte, tetapi itu tidak sepenuhnya sebulat suara. Seperti yang anda dapat lihat, setiap pengekodan aksara mempunyai penggunaan, konteks, dan kekuatan dan kelemahannya sendiri. Sebagai pengguna akhir, anda mungkin tidak perlu berurusan dengan ini, tetapi sekarang anda boleh mengambil langkah tambahan ke hadapan jika anda memilih demikian.