Perbezaan: 1. Pengekodan ASCII ialah 1 bait, manakala pengekodan Unikod biasanya 2 bait. 2. ASCII ialah pengekodan bait tunggal dan tidak boleh digunakan untuk mewakili Bahasa Cina boleh mewakili semua bahasa. 3. Pengekodan Unikod memerlukan ruang storan dua kali lebih banyak daripada pengekodan ASCII.
Persekitaran pengendalian tutorial ini: sistem Windows 7, komputer Dell G3.
Pengekodan ASCII
- Kod ASCII menggunakan kombinasi nombor binari 7-bit atau 8-bit yang ditentukan untuk mewakili 128 atau 256 aksara yang mungkin . Kod ASCII standard, juga dipanggil kod ASCII asas, menggunakan 7 digit perduaan (baki 1 digit perduaan ialah 0) untuk mewakili semua huruf besar dan huruf kecil, nombor 0 hingga 9, tanda baca dan kawalan khas yang digunakan dalam bahasa Inggeris Amerika. Bit terakhir digunakan untuk semakan pariti.
- Masalah: ASCII ialah pengekodan bait tunggal dan tidak boleh digunakan untuk mewakili bahasa Cina (pengekodan Cina memerlukan sekurang-kurangnya 2 bait, oleh itu, China telah merumuskan pengekodan GB2312 untuk mengekod bahasa Cina). Tetapi terdapat banyak bahasa yang berbeza di dunia, jadi pengekodan bersatu diperlukan.
Unicode
- Unicode menyatukan semua bahasa ke dalam satu set pengekodan, jadi tiada lagi kekacauan watak Masalah.
- Unicode selalunya menggunakan dua bait untuk mewakili aksara (jika anda ingin menggunakan aksara yang sangat jarang berlaku, anda memerlukan 4 bait). Sistem pengendalian moden dan kebanyakan bahasa pengaturcaraan menyokong Unicode secara langsung.
Perbezaan antara Unicode dan ASCII
- Pengekodan ASCII ialah 1 bait, manakala pengekodan Unicode biasanya 2 bait.
Huruf A yang dikodkan dalam ASCII ialah 65 dalam perpuluhan dan 01000001 dalam Unicode, anda hanya perlu menambah 0 di hadapan, iaitu: 00000000 01000001.
- Masalah baharu: Jika disatukan ke dalam pengekodan Unikod, masalah aksara bercelaru akan hilang. Walau bagaimanapun, jika teks yang anda tulis pada asasnya semuanya dalam bahasa Inggeris, pengekodan Unicode memerlukan ruang storan dua kali lebih banyak daripada pengekodan ASCII, yang sangat tidak menjimatkan dari segi penyimpanan dan penghantaran.
UTF8
- Jadi, atas semangat pemuliharaan, terdapat cara lain untuk menukar pengekodan Unikod kepada "pembolehubah "pengekodan panjang" pengekodan UTF-8.
- Pengekodan UTF-8 mengekodkan aksara Unikod kepada 1-6 bait mengikut saiz nombor yang berbeza Huruf Inggeris yang biasa digunakan dikodkan kepada 1 bait, dan aksara Cina biasanya 3 bait, hanya beberapa aksara Tidak biasa akan menjadi. dikodkan kepada 4-6 bait. Jika teks yang anda ingin hantar mengandungi banyak aksara Inggeris, anda boleh menjimatkan ruang dengan mengekodkannya dalam UTF-8.
字符 |
ASCII |
Unicode |
UTF-8 |
A |
01000001 |
00000000 01000001 |
01000001 |
中文 |
x |
01001110 00101101 |
01001110 00101101 |
- Anda juga boleh mendapati daripada jadual di atas bahawa pengekodan UTF-8 mempunyai faedah tambahan, iaitu pengekodan ASCII sebenarnya boleh dianggap sebagai sebahagian daripada pengekodan UTF-8. Oleh itu, sejumlah besar perisian warisan yang hanya menyokong pengekodan ASCII boleh terus berfungsi di bawah pengekodan UTF-8.
Cara pengekodan aksara biasa berfungsi dalam komputer
- Pengekodan Unikod digunakan secara seragam dalam ingatan komputer, dan ditukar apabila ia perlu disimpan ke cakera keras atau dipindahkan. Dikodkan kepada UTF-8.
-
Apabila mengedit dengan Notepad, aksara UTF-8 yang dibaca daripada fail ditukar kepada aksara Unicode dan disimpan dalam memori Selepas pengeditan selesai, Unicode ditukar kepada UTF-8 apabila menyimpan. Ke fail:
-
Apabila menyemak imbas web, pelayan akan menukar kandungan Unicode yang dijana secara dinamik kepada UTF-8 dan kemudian menghantarnya ke penyemak imbas:
Untuk pengetahuan lanjut berkaitan, sila lawati ruangan Soalan Lazim!
Atas ialah kandungan terperinci Apakah perbezaan antara unicode dan ascii. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!