亚洲视频二区_亚洲欧洲日本天天堂在线观看_日韩一区二区在线观看_中文字幕不卡一区

公告:魔扣目錄網為廣大站長提供免費收錄網站服務,提交前請做好本站友鏈:【 網站目錄:http://www.430618.com 】, 免友鏈快審服務(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

首先說一下背景:由于計算機是美國人發明的,因此最早只有127個字母被編碼到計算機中,也就是大小寫英文字母、數字和一些符號,這個編碼表稱為ASCII編碼。

例如:大寫字母A的編碼是65,小寫字母z的編碼時122。

要處理中文,顯然一個字節是不夠的,至少需要兩個字節,且不能和ASCII編碼沖突,所以我國制定了GB2312編碼,用于把中文編進去。

可以想象,全世界上有上百種語言,日本把日文編寫到Shift_JIS里,韓國把韓文編寫到Euc-kr里,各國有各國的標準,就不可避免出現沖突,結果就是,在多語言混合的文本中就會顯示亂碼。


在此背景下,Unicode應運而生,Unicode把所有語言都統一到一套編碼里,這樣就不會有亂碼問題了。

Unicode標準在不斷發展,最常用的是用兩個字節表示一個字符(如果要用到非常生僻的字符,就需要4個字節)。現代操作系統和大多數編程語言都直接支持Unicode。

下面看看ASCII編碼和Unicode編碼的區別:ASCII編碼時1個字節,二Unicode編碼通常是兩個字節。

字母A用ASCII編碼是十進制的65,二進制的01000001。

字符0用ASCII編碼是十進制的48,二進制的00110000。

注意字符0和整數0是不同的。

漢字“中”已經超出了ASCII編碼的范圍,用Unicode編碼是十進制的20013,二進制的01001110 00101101。

如果把ASCII編碼的A用Unicode編碼,只需要在前面補0就可,因此A的Unicode編碼是00000000 01000001。

那么新的問題就出現了:如果統一成Unicode編碼,亂碼問題從此消失了,但是寫的文本基本上全部是英文時,用Unicode編碼比ASCII編碼多一倍存儲空間,在存儲和傳輸上十分不劃算。

本著節約的精神,又出現了把Unicode編碼轉化成為“可變長編碼”的UTF-8編碼。UTF-8編碼把一個Unicode字符根據不同的數字大小編碼成1~6個字節,常用的英文字母被編碼成1個字節,漢字通常是3個字節,只有很生僻的字符才會被編碼成4~6個字節。如果你要傳輸的文本包含大量英文字母,用UTF-8編碼就會節省空間。

幫你搞清ASCII、Unicode和UTF-8區別,拿走不謝

各編碼方式的比較

由上表可知,UTF-8編碼有一個額外的好處,就是ASCII編碼實際上可看成是UTF-8編碼的一部分,所以只支持ASCII編碼的大量歷史遺留軟件可在UTF-8編碼下繼續使用。


搞清楚ASCII、Unicode和UTF-8的關系后,可總結一下現在計算機系統通用的字符編碼工作方式:在計算機內存中,統一使用Unicode編碼,當需要保持到硬盤或需要傳輸時,可轉換為UTF-8編碼。

例如,用記事本編輯時,從文件讀取的UTF-8字符轉換為Unicode字符到內存;編輯完成后,保持時再把Unicode轉換為UTF-8保持到文件。

幫你搞清ASCII、Unicode和UTF-8區別,拿走不謝

 

瀏覽網頁時,服務器會把動態生成的Unicode內容轉換為UTF-8再傳輸到瀏覽器,如下圖所示:

幫你搞清ASCII、Unicode和UTF-8區別,拿走不謝

 

我們經常看到很多網頁的源碼上有類似<meta charset=’UTF-8’/>的信息,表示該網頁用的是UTF-8編碼。

分享到:
標簽:UTF
用戶無頭像

網友整理

注冊時間:

網站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網站吧!
最新入駐小程序

數獨大挑戰2018-06-03

數獨一種數學游戲,玩家需要根據9

答題星2018-06-03

您可以通過答題星輕松地創建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數有氧達人2018-06-03

記錄運動步數,積累氧氣值。還可偷

每日養生app2018-06-03

每日養生,天天健康

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定