首頁 >常見問題 >unicode和ascii的差別是什麼

unicode和ascii的差別是什麼

青灯夜游
青灯夜游原創
2021-10-15 13:50:3137675瀏覽

區別:1、ASCII編碼是1個字節,而Unicode編碼通常是2個位元組。 2.ASCII是單字節編碼,無法用來表示中文;而Unicode可以表示所有語言。 3.用Unicode編碼比ASCII編碼需要多一倍的儲存空間。

unicode和ascii的差別是什麼

本教學操作環境:windows7系統、Dell G3電腦。

ASCII編碼

  • ASCII 碼使用指定的7 位元或8 位元二進位數組合來表示128 或256 種可能的字元。標準ASCII 碼也叫基礎ASCII碼,使用7 位二進制數(剩下的1位二進制為0)來表示所有的大寫和小寫字母,數字0 到9、標點符號, 以及在美式英語中使用的特殊控制字元。其中最後一位用於奇偶校驗。
  • 問題:ASCII是單字節編碼,無法用來表示中文(中文編碼至少需要2個位元組),所以,中國制定了GB2312編碼,用來把中文編進去。但世界上有許多不同的語言,所以需要一個統一的編碼。

Unicode

  • #Unicode把所有語言統一到一套編碼裡,這樣就不會再有亂碼問題了。
  • Unicode最常使用的是用兩個位元組表示一個字元(如果要用到非常偏僻的字符,就需要4個位元組)。現代作業系統和大多數程式語言都直接支援Unicode。

Unicode和ASCII的區別

  • #ASCII編碼是1個位元組,而Unicode編碼通常是2個位元組.
    字母A用ASCII編碼是十進位的65,二進位的01000001;而在Unicode中,只需要在前面補0,即為:00000000 01000001。
  • 新的問題:如果統一成Unicode編碼,亂碼問題就從此消失了。但是,如果你寫的文字基本上全部是英文的話,用Unicode編碼比ASCII編碼需要多一倍的儲存空間,在儲存和傳輸上就十分不划算。

UTF8

  • 所以,本著節約的精神,又出現了把Unicode編碼轉換成「可變長編碼」的UTF-8編碼。
  • UTF-8編碼把一個Unicode字元依照不同的數字大小編碼成1-6個位元組,常用的英文字母被編碼成1個位元組,漢字通常是3個位元組,只有很生僻的字元才會被編碼成4-6個位元組。如果你要傳輸的文字包含大量英文字符,用UTF-8編碼就能節省空間。
字元 ASCII #Unicode UTF-8
A 01000001 #00000000 01000001 01000001
# #x 01001110 00101101 01001110 00101101
#從上面的表格還可以發現,UTF-8編碼有一個額外的好處,就是ASCII編碼實際上可以被看成是UTF-8編碼的一部分,所以,大量只支援ASCII編碼的歷史遺留軟體可以在UTF-8編碼下繼續運作。
  • 電腦中通用的字元編碼的工作方式

在電腦記憶體中,統一使用Unicode編碼,當需要儲存到硬碟或需要傳輸的時候,就轉換為UTF-8編碼。
  • 用記事本編輯的時候,從檔案讀取的UTF-8字元被轉換成Unicode字元到記憶體裡,編輯完成後,儲存的時候再把Unicode轉換為UTF-8儲存到檔案:
  • unicode和ascii的差別是什麼
  • 瀏覽網頁的時候,伺服器會把動態產生的Unicode內容轉換成UTF-8再傳送到瀏覽器:
  • unicode和ascii的差別是什麼
  • 更多相關知識,請造訪
常見問題

欄位!

以上是unicode和ascii的差別是什麼的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn