2015/5/1 (二) 字符集和字符編碼

        首先,咱們須要瞭解,計算機硬件是隻會讀取二進制文件的,可是,對於這些複雜的10110101101,這些東西所表達的意思,即便是高深的程序猿們,也未必看得懂,就更別說那些不是IT行業的人士了,可是,隨着計算機的普及,天然而然地,就有人站出來解決這我的與計算機交流的問題了。第一個登場亮相的就是ASCII這個東西,全稱American Standard Code for Information Interchange,便是美國標準信息交換代碼  下面附圖:編輯器

        簡單來講,這就是一個標準,跟語言同樣,這個這個表明這個意思,那個那個表明什麼意思,這個標準促成了人與計算機交流的大好局面,可是嘛,這個東西是由美國人制定的,當初計算機也沒普及,從歷史的狹隘眼光來看,美國人固然是知足了本身的要求,這128個字符編碼對於本身來講是夠用了。
編碼

 可是後來計算機普及了,這就出問題了,就好比 「é」這個法語字母,並不存在ASCII這個字符集裏面,那可怎麼表示呢,因爲ascii是取一個字節,但只佔用了一個字節的後面7位,最前面的1位統一規定爲0。因而你們就有想法了,佔用這個高位,加上前面的128個字符編碼,可達到256個字符編碼,基本知足了歐洲方面的編碼需求,歐洲方面是決解了,那亞洲呢,還有非洲呢,世界上那麼多語言文字符號,他們又該何去何從,因而,他們也不甘示弱,在保留前面128個字符編碼不變的基礎上,奮發造碼,例如中國的GB2312,等等.spa

因而世界上出現了不少種字符集和編碼方式,這時候,偉大的OSI看不下去了,身爲一系列標準的制定者,它也制訂了一套名叫unicode的編碼方式,人稱統一碼,萬國碼,反正就是很叼。固然,後來所說的UTF-8,UTF-16之類就是unicode的幾種實現方式而已!(具體內容我還沒仔細看!暫且略過)code

上面就說了一些誕生歷史什麼之類的,我的以爲挺有趣的,下面就說一些定義:orm

字符集(charset)      所謂字符集,就是一個系統支持的全部抽象字符的集合,而字符呢就是各類文字和符號的總稱,例如ASCII字符集啊,GB2312字符集啊!ci

編碼(charset encoding)       編碼就是信息從一種形式或格式轉換成另一種形式的過程,計算機上的就是說將具備特定含義信息(如數字、文字、符號等)用二進制來表示的過程。順提一下解碼就是編碼的逆過程,而補碼嘛,這我還得翻翻書,有知道的能夠留意解釋下。
unicode

字符集和編碼的關係就是編碼是字符集在計算機上的實現方式!io

說說ANSI,這個也是美國朋友推出的,就雙字節編碼,好比說咱們用window自帶的文本編輯器保存文件時會出現:字符編碼

這個ANSI表示的就是默認的編碼方式,對於英文文件就是ASCII編碼,而中文則是GB2312,不知道你知不知道,反正我是昨天才知道。 form

這個字符集和編碼就先說那麼多,其實還有關於每種編碼方式,用幾個字節啊,什麼形式還不是太清楚,且容後補充(2015/5/2)

相關文章
相關標籤/搜索