字元編碼(ASCII GBK UTF 8等)總結

2021-07-27 19:31:04 字數 1894 閱讀 3277

以下是總結的一些常見字元編碼的介紹:

編碼型別

位元組數年代

編碼原理

字符集缺點

備註ascii

11967

從0~127來表示所有英文本元和一些符號

其中0x20以下的位元組狀態稱為「控制碼」(例如換行)

英文文字、符號及控制碼

只包含128個字元

是最早的字元編碼

由美國國家標準學會(ansi)制定

gb231212

1980

乙個小於127的字元的意義與原來相同

但兩個大於127的字元連在一起時,就表示乙個漢字

6763常用漢字、數學符號、羅馬字元、ascii所有字元(半形字元)、ascii中所有字元重新編碼後佔2個位元組的字元(全形字符)等

不包含繁體字

gb2312 是對 ascii 的中文擴充套件

英文只佔1個位元組,中文佔2個位元組

big-5

21984

雙位元組編碼,高位元組編碼範圍是0x81-0xfe,低位元組編碼範圍是0x40-0x7e和0xa1-0xfe。

0x8140-0xa0fe是保留區域,用於使用者造字區。

13053個中文字、408個字元以及33個控制

只包括繁體漢字,不包括簡體漢字,一些生僻的漢字也沒有收錄

通行於台灣、香港地區的乙個繁體字編碼方案。

是我國早期中文電腦的業界標準,也是中文社群最常用的電子漢字字集標準

unicode

21994

鑑於1個位元組無法表示所有的字元,於是擴充套件到2個位元組,最多可表示6萬多個字元

ascii中的所有字元維持不變,將長度由8位增加到16位,高位補0

其他語言的字元全部重新統一編碼

全球統一字元標準

ascii中字元的高8位永遠是0,儲存空間比ascii大一倍

所有字元都用2個位元組表示

utf-8

1-4可變

1992

對不同範圍的字元使用不同長度的編碼:

1. 單位元組的字元,位元組的第一位設為0,對於英語文字,utf-8碼只占用乙個位元組,和ascii碼完全相同;

2. n個位元組的字元(n>1),第乙個位元組的前n位設為1,第n+1位設為0,後面位元組的前兩位都設為10,這n個位元組的其餘空位填充該字元unicode碼,高位用0補足。

一種針對unicode的可變長度字元編碼,又稱「萬國碼」。

utf-8就是每次1個位元組(8個位)傳輸資料

中文漢字所佔位元組數較大

常用中文字元用utf-8編碼占用3個位元組(大約2萬多字)

但超大字符集中的更大多數漢字要佔4個位元組(在unicode編碼體系中,u+20000開始有5萬多漢字)

gbk1

21995

在gb2312的基礎上,不再要求低位元組大於127

只要第乙個位元組是大於127就固定表示這是乙個漢字的開始

gbk包括了gb2312的所有內容,同時又增加了近20000個新的漢字(包括繁體字)和符號

收錄了所有unicode 1.1及gb 13000.1-93之中的漢字

未包含少數民族的字元

英文只佔1個位元組,中文佔2個位元組

根據西方資料,gbk最初是由微軟對gb2312的擴充套件,並用在win95上

gb1803012

42000

2005

gbk基礎上增加了cjk統一漢字擴充a的漢字

包含了gbk的所有內容,同時增加了幾千個少數民族的字元

其中4位元組部分收錄了雙位元組字元之外的包括cjk統一漢字擴充a在內的gb13000.1 中的全部字元。

英文只佔1個位元組,中文佔2個位元組

由於utf-8中文字元所占用的空間為3個及以上的字元,這也是為什麼在網際網路如此發達的今天,utf-8幾乎成為業內標準,gb2312、gbk等編碼方式在國內仍然被廣泛使用的原因

字元編碼 unicode編碼

1.ascii american standard code for information interchange 美國資訊交換標準 這是計算機上最早使用的通用的編碼方案。那個時候計算機還只是拉丁文本的專利,根本沒有想到現在計算機的發展勢頭,如果想到了,可能一開始就會使用unicode了。當時絕大...

A 字元編碼

請將一串長度為5的純字母文字譯成乙個密碼,密碼規律如下 用原來的字母後面的第4個字母代替原來的字母。如c用g代替 文字中不存在w w x x y y z z等字母 最後得到的文字即為密碼。輸入一串文字,長度固定為5。輸出對應的密碼。格式為 password is 密碼 input chinaoutp...

字元編碼 字元編碼的奧秘

字元編碼相信是每個程式設計師的噩夢,只要是有中文的地方,總是會遇到各種編碼的問題,並且這種問題還非常難纏,尤其在linux上,因為上面很多軟體都是針對 英語國家開發的,是不會考慮其他語種編碼問題。在遇到編碼的無數大坑之後,我決定仔細研究下編碼問題,因為這就像一道坎一直橫在你面前,每次到這裡你都會 跌...