計算機常見編碼

2022-07-18 05:24:10 字數 2494 閱讀 9973

在做.net 專案中,有的時候,在開啟別人的專案的的時候,經常出現中文亂碼,尤其又是在繁體的環境下》也是找了一點編碼的資料,總結。

1.ascii 字符集

第 0-31 號及 127 號是控制字元或通訊專用字元;

第 32-126 號是字元,其中 48-57 號為 0-9 十個阿拉伯數字,65-90 號為 26 個

大寫英文本母,97-122 號為 26 個英文小寫字母,其餘為一些標點符號,運

算符號等。

在計算機儲存單元中,乙個 ascii 碼值佔乙個位元組(8 個二進位制位),最高位

是用作奇偶檢驗位。

2. gb2312 字符集:

gb2312 收錄了簡化漢字及一般字元,序號,數字,拉丁字母,日文假名,

希臘字母,俄文本母,漢語拼音符號,漢語注音字母,共 7445 個圖形字元。

其中包括 6763 個漢字,一級漢字 3755 個,二級漢字 3008 個。

gb2312 對所收漢字進行了「分割槽」處理,每區含有 94 個漢字或者符號,這

種表示方法也叫做「區位碼」。

它是用雙位元組表示的,前面的位元組為第一位元組,又稱「高位元組」,後面的為

第二位元組,「低位元組」。

高位位元組,把 01-87 區的區號加上 0xa0(相當於數字 160);低位位元組把 01-94

區的區號加上 0xa0(相當於數字 160)。 舉個簡單的小例子:第乙個漢字—

—「啊」,它的區號為 16,位號 01,則區位碼是 1601。則高位元組位:

16+0xa0=0xb0;低位元組位:01+0xa0=0xa1,所以「啊」的漢字處理編碼為

0xb0a1。

3. gbk 字符集:

gbk 是 gb2312 字符集的擴充套件(k)(中國的中文編碼表公升級,融合了更多的

中文文字元號。),它收錄了 21886 個符號,它分為漢字區和圖形符號區,

漢字區包括 21003 個字元。gbk 字符集主要擴充套件了正體中文本的支援。

4. big5 字符集:

big5 字符集共收錄了 13053 個中文字,該字符集在台灣使用。但是沒有考慮

到社會上流通的人名,地方用字,方言用字,化學及生物科等用字,沒有包

含日文平假名及片假字母。

big5 也採用雙位元組儲存方法,一兩個位元組編碼乙個字。高位位元組的編碼範圍

是 0xa1-0xf9,低位位元組的編碼範圍是 0xa1-0xfe。

6.unicode 字符集

unicode 允許在

同一伺服器上混合使用不同語言,它為每種語言的每個字元設定了統一並且

唯一的二進位制編碼,以滿足跨平台,跨語言進行文字轉換,處理的要求。、

unicode 標準始終使用十六進製制數字,固定使用 2 個位元組來表示乙個字元,

共可以表示 65536 個字元。而且書寫時在前面加上字首「u+」,例如 a 的編

碼是 004116,則書寫成「u+0041」。

 unicode 字符集包含的編碼方案:

utf-8: (最多用三個位元組來表示乙個字元。)

utf8 是 unicode 其中的乙個使用方式。utf 的意思是:

unicode translation format,即把 unicode 轉作某種格式的意思。 utf-8

使用可變長度位元組來儲存 unicode 字元,如 ascii 字母還是採用乙個

字元來儲存,希臘字母等採用 2 個字元來儲存,而常用的漢字要使

用 3 位元組,輔助平面字元則使用 4 位元組。

 utf-16:

使用乙個或兩個未分配的 16 位**單元的序列對 unicode **

點進行編碼,即 2 個位元組表示乙個字元。

 utf-32:

將每乙個 unicode **點表示為相同值的 32 位整數。

utf-16 與 utf-8:如「連通」兩個字,在 utf-16 中為:de 8f 1a 90,

兩個位元組決定乙個漢字;在 utf-8 中則為:e8 bf 9e e9 80 9a,即 3

個位元組決定乙個字元。

當乙個軟體開啟乙個文字時,首先是要決定這個文字究竟是使用

哪種字符集的哪種編碼儲存的,軟體一般採用三種方式來決定文字

的字符集和編碼:檢測檔案頭標識,提示使用者選擇,根據一定的規

則猜測。不同編碼方式的開頭位元組如下:

ef bb bf

utf-8

ff fe

utf-16,little endian

fe ff

utf-16,big endian

ff fe 00 00

utf-32, little endian

00 00 fe ff

utf-32,big endian

注:endian 是指位元組序,big endian(大尾)和 little endian(小

尾)是 cpu 處理多位元組數的不同方式。例如「漢」的 unicode 編碼

是 6c49,寫到檔案中,如果將 6c 寫在前面就是 big endian,將 49

寫在前面就是 little endian。

計算機常見編碼介紹

計算機,不能直接儲存文字,儲存的是編碼。計算機只能處理二進位制的資料,其它資料,比如 0 9 a z a z,這些字元,我們可以定義一套規則來表示。假如 a用110表示,b用111表示等。ascii碼 美國發布的,用1個位元組 8位二進位制 來表示乙個字元,共可以表示2 8 256個字元。美國的國家...

計算機編碼 編碼

原碼 a.規則 最高位為符號位,0為正數,1為負數,剩餘位表示資料 b.例 95 原 0101 1111 原 77 原 11001101 原 c.特點 區分正負零 缺陷 0 原 0000 0000 0 原 1000 0000 原碼可能出錯 1 原 1 原 1000 0010 原 2 d d.範圍 8...

計算機編碼

來自 阮一峰 一下對自己有用的精簡部分 1.ascii碼 在計算機內部,所有的資訊最終都表示為乙個二進位制的字串。每乙個二進位制位有0和1兩種狀態,因此八個二進位制位就可以組合出256種狀態,這被稱為乙個位元組 byte 也就是說,乙個位元組一共可以用來表示256種不同的狀態,每乙個狀態對應乙個符號...