能否詳細介紹一下字元編碼的發展歷史?

時間 2021-06-09 05:52:34

1樓:冰山一角

我來說兩句

各國語言的符號,都是字元,那麼所有字元集合叫做字符集

計算機儲存字元使用數字來進行對映,這麼過程就叫做字元編碼

相應的 :解碼 ==>把儲存的數字解釋成字元

那麼很顯然了,剛開始只需要儲存英文本元,數字,一些特殊符號,於是ANSI(美國國家標準協會)制定了標準:是 ASCII 字符集(Character Set),也稱 ASCII 碼。解碼過程其實就是查表過程,甚至直接把ANSII寫入唯讀儲存器,加快查詢速度。

注意,ANSII編碼和ANSI編碼不一樣,後面後說ANSI編碼

ANSII只編碼了128個字元(只使用了0x00~0x7F),X86支援使用擴充套件的ANSII碼,所以就有人打後128個字元的主意,這128個字元各個廠商編碼不同,所以就產生了很多種編碼方式。這就是OEM編碼

計算機在亞洲使用的時候,就不能只是使用ANSII規定的256個字元了,為了相容ANSII編碼,產生了多字元編碼集。例如中國的GBK編碼(由GB2312擴充套件而來)。

這時候美國ASNI組織制定了ANSI 標準字元編碼(不是ANSII),指定各個地區/語言的編碼方式。(各個國家也有自己的標準,比如中國的GBK)。作業系統通常預裝各個地區的字符集,比如用GBK寫的文件在中國大陸上都能傳播。

(注意,我們現在通常說到 ANSI 編碼, 通常指的是平台的預設編碼,例如英文作業系統中是 ISO-8859-1,中文系統是 GBK)

這也解釋的通,因為ANSI就是指定了預設平台的編碼,現在說ANSI編碼意思就是預設平台的標準編碼。

例如這只要知道了文件的編碼方式,我們就能在一台機器中查閱不同語言的文件,但是無法實現在同乙個文件種使用不同國家的語言,這就需要統一字元編碼。於是Unicode應運而生,Unicode把所有現在出現的字元,給定乙個編號。

Unicode 劃分為17個層面,每個層面有2^16 個字元,那麼使用定長編碼必然是三個位元組對應乙個字元,如果編碼英文,前兩個位元組不使用,會非常浪費空間。

於是Unicode只規定了字符集,沒有規定編碼方式,如今使用最廣的方式是UTF-8編碼,這是一種不定長的編碼(學過哈夫曼編碼的都知道吧),從Unicode轉為utf-8需要相應的演算法。

這樣就清楚了,Unicode規定字符集,對每個字元規定乙個編號,具體儲存成什麼樣位元組流(文件被編碼後產生的位元流)取決於編碼方案。

當我們說Unicode編碼時候, 只是一系列編碼方案統稱(utf-8、utf-16)

P.S. 隨手搜了一下,常見的charset有

CharSet 有:GBK、GB2312、US-ASCII、ISO-8859-1、UTF-8、UTF-16BE、UTF-16LE、UTF-16

收藏的圖:

再次補充:其實現在開發都是統一了編碼格式,但是web開發依然會後討厭的編碼問題。建議隨時見到都記錄下來解決方案。

亂碼的根本原因就是使用錯誤的字元編碼方式解碼位元組流,遇到亂碼問題必須清醒的知道當前的編碼方式是什麼,位元組流的編碼方式是什麼。

2樓:劉松泉

ANSI 不是一種具體的編碼,而是對一些遺留編碼的統稱。

這個就要從 ASCII 開始講起了……

各種遺留編碼,基本上都是在 ASCII 的基礎上擴充。

Unicode 並不是編碼,而是字符集。各 UTF 則是表示 Unicode 的編碼方法……

有乙個特殊的 UTF,是 GB 18030,這是在遺留編碼上的擴充。

能否詳細介紹一下加拿大的國情 文化 政治和經濟?

RAY TANG 加拿大政治是基於英國的威斯敏斯特政治體系,是國會議會制度,同時存在著聯邦制。國家元首是英女王任命的總督,國家總理目前是stephen harper。文化上,加拿大最特別的是同時存在著anglophone為主的英語文化,同時兼備francophone的法語文化,還有當地的aborig...

誰詳細介紹一下心理督導?

Mike 心理諮詢,尤其是長程的心理諮詢,需要的不僅僅是諮詢師的分析性功能,更為重要的是如何使用諮詢師的主體性 諮詢師這個人 來與來訪者進行工作,在職業初期,甚至五年以內,諮詢師會帶有明顯的個人獨有特質與特定的來訪者群體進行工作,這也意味著,諮詢師需要熟悉自己此時的主體性,以及更好的運用這部分進行工...

詳細介紹一下python和matplotlib,ipython的安裝使用方法?

安裝部分我贊成用Anaconda,在win下提供了乙個很好的package management。針對 黑麻麻 這一點,我有兩個解決方案。一是在左上角點右鍵,到設定裡可以調整背景顏色和字型顏色。我萬不得已用win開發的時候都會手動改,之後用 colors LightBG改配色。二是我估計你所說的ip...