編碼相關1 基礎知識

2021-07-23 17:22:29 字數 1442 閱讀 3523

一、編碼基本知識

1、字符集、字元編碼是什麼:

字符集是乙個系統支援的所有抽象字元的集合

字元編碼:

不同的字元編碼其實是不同的法則,該法則可以使某種自然語言,與其他訊號(資訊、號碼、電脈衝)相配對——即在自然語言符號與數字系統之間建立特定聯絡。

簡而言之,各種符號通過字元編碼轉化為可以被計算機識別的數字。

2、常見的編碼方式(列舉):

ascii、gb2312、gbk、gb18030、big5、unicode、utf-8、utf-16…

3、計算機編碼的大體發展史:

ascii

在英文中,字元的個數非常有限(一共不過一百多個)。乙個位元組為8bit,8bit能夠表示256個字元。ascii一共使用7個bit,編碼了128個字元。

eascii

後來當計算機發展到歐洲地區,人們發現很多歐洲所特有的字元ascii中沒有,於是出現了可擴充套件的ascii,並且完全相容ascii,稱為eascii。

eascii保留了ascii的前128個字元,從第129個開始增加西歐獨特的字元,一直到第256個。

(eascii時代比較混亂,沒有統一標準)

gb2312

當計算機發展到中國,需要表示的字元遠遠超出了前面兩種編碼方式的範圍。於是在ascii的基礎上,從第128個開始,每兩個編碼組合乙個漢字。

gbk、gb18030

以上的gb2312仍然沒有辦法滿足漢字的需求(比如一些繁體字、特殊符號等),於是在此基礎上,增加了新的內容,形成gbk。

在gbk基礎上,加入了藏文、蒙文等主要少數民族字元,形成了gb18030。

unicode

情況同中國類似,在世界各個地區,都形成了自己的編碼標準,相互之間無法交流。於是iso組織提出了unicode編碼方式。

unicode規定:任何字元的編碼長度由原來的8位改為16個bit組合(即兩個位元組)

注意:unicode不與前面任何一種編碼方式相容。

utf-8

utf-8是為了解決unicode在網路上傳輸問題而出現的,意思是一次傳輸8個bit,它其實是unicode的一種使用方式。

utf-8中的字元編碼長度是可變的,它根據具體情況,使用不同個數的bit來編碼字元:

例如ascii字母繼續使用1位元組儲存,重音文字、希臘字母或西里爾字母等使用2位元組來儲存,而常用的漢字就要使用3位元組。輔助平面字元則使用4位元組

4、關於unicode和utf-8的關係:

utf-8是unicode的應用——具體utf-8規則如下:

1)對於單位元組的符號,位元組的第一位設為0,後面7位為這個符號的unicode碼。因此對於英語字母,utf-8編碼和ascii碼是相同的。

2)對於n位元組的符號(n>1),第乙個位元組的前n位都設為1,第n+1位設為0,後面位元組的前兩位一律設為10。剩下的沒有提及的二進位制位,全部為這個符號的unicode碼。

儲存相關基礎知識總結(1)

儲存是雲計算平台管理的一種重要資源,儲存資源池是基礎架構資源池中的重要組成部分。軟體開發人員一般對儲存知識的了解非常有限,這對於深入理解雲計算或做雲計算平台的研發是很大的障礙。本系列文章是我剛接觸雲計算時整理的儲存相關基礎知識,並做了完善和豐富,內容不一定全面,有的地方可能說的也不對,希望能對需要的...

相關基礎知識

宣告 在作者學習資料結構的過程中發表的博文,一般是自己學習後知識點的總結,同時有些是摘抄於教材的,學習教材為 資料結構 c語言版 秦峰主編。特此宣告,後續博文不在重複說明。一 基本概念 資料 data 是對客觀事物的符號表示,它能夠被計算機識別 儲存 和加工處理。資料元素 data element ...

C 複習,類相關基礎知識(1)

1.類的資料成員可以是任何資料型別,但不能用自動 auto 暫存器 register 或外部 extern 進行說明。1.在類外定義成員函式,成員函式的宣告再類內,參數列內可以不說明引數的名字,而只說明它們的型別。2.第二中定義方式,將成員函式定義再類的內部,此為隱式定義,隱含的將其看作內聯函式 3...