Penukaran pengekodan HTML: Kod ASCII, Unicode dan UTF-8
HTML ialah bahasa penanda yang digunakan untuk mencipta halaman web Teksnya bukan sahaja mengandungi aksara visual, tetapi juga beberapa simbol Penanda yang mengawal format teks, struktur, dan gaya. Simbol penanda ini dihuraikan dan dipaparkan dalam penyemak imbas web, tetapi di latar belakang, aksara ini perlu dikodkan dan dinyahkod dengan betul untuk memastikan penghantaran dan paparan biasa mereka. Dalam artikel ini, kami akan memperkenalkan tiga kaedah pengekodan HTML yang biasa digunakan: ASCII, Unicode dan UTF-8, dan membincangkan cara menukarnya kepada satu sama lain.
Kod ASCII (American Standard Code for Information Interchange, American Standard Code for Information Interchange) ialah salah satu kaedah pengekodan aksara yang paling awal ia menggabungkan 128 biasa aksara yang digunakan. Aksara dan simbol dipetakan kepada pengekodan binari 7-bit. Seperti yang ditunjukkan dalam rajah di bawah, lajur pertama ialah aksara yang dikodkan ASCII, lajur kedua ialah nilai perpuluhan yang sepadan, dan lajur ketiga ialah kod binari.
Pengekodan ASCII ialah pengekodan bait tunggal yang menggunakan satu bait (8 bit) untuk mewakili aksara. Dengan hanya 128 aksara, set aksara ASCII agak kecil dan tidak mempunyai sokongan untuk berbilang bahasa.
Unicode ialah set aksara global yang mengandungi aksara dan simbol dalam pelbagai bahasa, supaya orang yang berkomunikasi di Internet tidak lagi terhad kepada yang tertentu Sebaliknya, semua aksara termasuk abjad Latin, Cina, Jepun dan Ibrani boleh digunakan. Pengekodan Unikod boleh menggunakan kaedah storan yang berbeza, termasuk UTF-8, UTF-16 dan UTF-32.
Set aksara Unicode mengandungi lebih daripada 100,000 aksara dan simbol, jadi berbilang bait diperlukan untuk mewakili aksara. Antaranya, pengekodan UTF-8 ialah kaedah pengekodan panjang boleh ubah Ia menggunakan 1-4 bait untuk mewakili aksara, supaya semua aksara dalam set aksara Unicode boleh diwakili dalam kod ASCII yang berbeza, Latin-1 dan kaedah pengekodan lain. watak. Bait pertama pengekodan UTF-8 digunakan untuk menunjukkan bilangan bait yang digunakan untuk mewakili aksara, dan bait seterusnya bermula dengan 10.
Jadual berikut ialah jadual perbandingan aksara Cina "anda" dan aksara Inggeris "A" dalam pengekodan UTF-8:
字符 | UTF-8编码 |
---|---|
你 | 11100110 10001101 10011000 |
A | 01000001 |
Dalam proses pengaturcaraan sebenar, kita selalunya perlu menukar set aksara, menukar aksara yang dikodkan ASCII atau Unicode kepada aksara yang dikodkan UTF-8, atau menukar aksara yang dikodkan UTF-8 kepada kod ASCII atau yang dikodkan Unikod watak.
Dalam Python, kita boleh menggunakan kaedah encode() dan decode() untuk menukar set aksara. Antaranya, kaedah encode() menukar rentetan yang ditentukan kepada rentetan bait mengikut kaedah pengekodan yang ditentukan, dan kaedah decode() menukar rentetan bait yang ditentukan kepada rentetan mengikut kaedah pengekodan yang ditentukan.
Berikut ialah contoh menukar rentetan berkod Unikod "Hello, World" kepada pengekodan UTF-8, dan kemudian menukarnya kembali kepada pengekodan Unikod:
# 将Unicode编码的字符串转换为UTF-8编码 utf8_str = "你好,世界".encode('utf-8') print(utf8_str) # 将UTF-8编码的字符串转换为Unicode编码 unicode_str = utf8_str.decode('utf-8') print(unicode_str)
Hasil output ialah :
b'\xe4\xbd\xa0\xe5\xa5\xbd\xef\xbc\x8c\xe4\xb8\x96\xe7\x95\x8c' 你好,世界
Dalam contoh ini, kami mula-mula menukar rentetan berkod Unikod "Hello, World" menjadi rentetan bait berkod UTF-8 menggunakan kaedah encode() dan kemudian mencetaknya . Seterusnya, kami menggunakan kaedah penyahkod() untuk menukar rentetan bait berkod UTF-8 ini kepada rentetan berkod Unikod dan mencetaknya.
Kesimpulan
Apabila menulis kod HTML, kita perlu memastikan bahawa kita menggunakan pengekodan yang betul untuk menukar pelbagai aksara dan simbol kepada bait untuk penghantaran. Dalam artikel ini, kami memperkenalkan tiga kaedah pengekodan yang biasa digunakan: kod ASCII, Unicode dan UTF-8, dan membincangkan penukaran bersama antara mereka. Dalam pengaturcaraan sebenar, kita boleh menggunakan kaedah encode() dan decode() terbina dalam Python untuk menukar pelbagai set aksara untuk mengendalikan pemprosesan teks berbilang bahasa dengan lebih baik.
Atas ialah kandungan terperinci Bagaimana untuk melakukan penukaran pengekodan dalam html. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!