計算機字元與編碼

2022-05-19 09:31:56 字數 1926 閱讀 1445

ascii碼

1. 使用7個bits就可以完全表示ascii(american standard code for information interchange)碼(包含95個可列印的字元,33個不可列印的字元,比如一些控制字元), 33+95=128 = 2的7次方,最高位表示定位符。

ascii包含了所有了所有的大小寫英文本母和數字,還有鍵盤符號。

2. ascii碼很多國家的應用和符號是無法表示的,比如很多數學符號。

extended ascii碼 (擴充套件ascii碼)

第一次對ascii碼擴充,7bits -> 9bits  128變成256 

拓展的128多字元

字元編碼集的國際化

1.歐洲,中東,東亞,拉丁美洲等國家語言的多樣性。

2.語言體系不一樣,並且不以有限字元組合的語言,比如英文每個單子都是由a-z組成的,但是中文除了偏旁,每個字都是獨立的。而且以中國,日本,南韓風語言最為複雜。

中文編碼集

gb2312(國標2312): 2023年發明出來的,全稱是《資訊交換用漢字編碼字符集-基本集》,簡稱國標2312。一共收錄了7445個字元。包括了6763個漢字和682個其他符號。

不過gb2312也是有問題的,不符合國際標準,後來又推出了gbk《漢字內碼擴充套件規範》,gbk向下相容gb2312,向上支援國際iso標準。收錄了21003個漢字,支援全部中日韓字元。

又簡稱為gb 2312gb 2312-80,由中國國家標準總局2023年發布,當年5月1日開始實施的一套國家標準。gb為國標(國家標準)拼音首字母。gb 2312將ascii裡本來就有的數字、標點、字母都統統重新編了兩個位元組長的編碼,這就是常說的」全形」字元,而原來在127號以下的那些就叫」半形」字元。gb2312編碼適用於漢字處理、漢字通訊等系統之間的資訊交換,通行於中國大陸;新加坡等地也採用此編碼。

gbk中英文都用兩個位元組來表示,相容gb2312,加入對繁體字的支援。k為擴充套件的kuo首字母。windows用cp936來實現對gbk字符集的編譯碼。因此有些地方charset=windows-936就是指gbk。

與gb2312有衝突。繁體字符集。big->大寫。big5是使用正體中文(正體中文)社群中最常用的電腦漢字字符集標準,共收錄13,060個漢字。big5雖普及於台灣、香港與澳門等正體中文通行區,但長期以來並非當地的國家標準,而只是業界標準。

utf-8(universal transformation format)使用可變長的編碼,例如 ascii 部分仍然使用乙個位元組,中文用兩個位元組。也因為如此,它沒有實現所有的 unicode 的字元,它只實現了unicode的plane 0(unicode共有16個plane。plane 0又稱為bmp,basic multilingual plane)。

utf-8編碼字元理論上可以最多到6個位元組長

utf-8與中文:

utf-8 的缺陷是無法表示 plane 0 外的字元。而utf-16可以應對這種情況。

unicode

gb2312在中國使用是沒問題的,但是如果跨國就有問題,比如中國人開發乙個中文**,外國人去訪問,如果他們電腦沒安裝gbk編碼或者gb2312,在他們電腦上顯示會變成亂碼。

所以這裡就有了相容全球的字符集unicode。

unicode:統一碼,萬國碼,單一碼。

unicode定義了世界通用的符號集,它規定了符號的二進位制**,用utf-*實現了編碼,比如utf-8,常見的utf-8以位元組為單位對unicode進行編碼。中國windows系統預設使用gbk,但是程式設計推薦使用utf-8。

計算機字元編碼

因為計算機只能處理數字,如果要處理文字,就必須先把文字轉換為數字才能處理。最早的計算機在設計時採用8個位元 bit 作為乙個位元組 byte 所以,乙個位元組能表示的最大的整數就是255 二進位制11111111 十進位制255 如果要表示更大的整數,就必須用更多的位元組。比如兩個位元組可以表示的最...

計算機字元編碼

編碼方式 計算機中所有的資訊都採用0,1這樣的二進位制位來表示,那麼肯定存在特定的對映規則 例如 0010 0011 我們將這種一一對應的規則稱為編碼 方式 常見的編碼方式有 ascii utf 8 gbk等 編碼 我們希望將hi 這句話儲存在磁碟上,由於計算機只能儲存0和1因此我們可以將hi 按照...

計算機編碼 編碼

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