計算機字元編碼

2022-09-07 16:15:14 字數 2193 閱讀 1307

編碼方式:計算機中所有的資訊都採用0,1這樣的二進位制位來表示,那麼肯定存在特定的對映規則(例如:0010 0011->#) 我們將這種一一對應的規則稱為編碼(方式)。 常見的編碼方式有 ascii、utf-8、gbk等

編碼:我們希望將hi!這句話儲存在磁碟上,由於計算機只能儲存01因此我們可以將hi!按照某種編碼方式(ascii)轉化為01001000 01101001 00100001來儲存。從字串到 二進位制的過程叫編碼

解碼:當我們需要將磁碟上的一句話顯示在螢幕上時,先從磁碟讀取二進位制資料 ——01001000 01101001 00100001, 然後按照我們之前使用的 ascii 編碼方式(對應關係集合)將二進位制轉為hi!。從二進位製到字串的過程叫解碼

總結:編碼和解碼是自然語言符號二進位制符號相互轉化的過程,要實現一一對應的轉換,就需要依賴某種對應規則,而這種對應規則就是我們所說的編碼方式。

機器儲存資料按照位元組來儲存,乙個位元組 8位,每一位有01兩種狀態。因此乙個位元組理論上可以表示 2^8 =256個不同的狀態,每個狀態對應乙個字元就是256個字元。

標準的 ascii 編碼標準 使用最低7位(後7位)表示字元(最高位為0)共128個字元。

英語中128個符號編碼就夠了,但是隨著計算機的發展,網路鏈結了不同語言的地區和國家,即使將ascii碼中保留的最高位用掉也不夠表示全世界各種語言的自然符號。

因此各個國家和地區都推出了自己地區專用的編碼方式,例如中國的gbkgb18030gb2312等,但是使用地區編碼的字元無法在其他地區使用。由於編碼的不一致,資訊交換的成本過高,例如日本的遊戲中國使用者無法使用,中國傳送的電子郵件法國的朋友無法閱讀... ...

高昂的資訊交換成本使得這樣一種編碼方式的誕生成為必然。即這種編碼將世界上所有的符號都納入其中,每乙個符號都給予乙個獨一無二的編碼,它將徹底的解決亂碼問題。它就是unicode,就像它的名字都表示的,這是一種所有符號的通用編碼。

國標編碼,是一種相容ascii編碼的漢字雙位元組編碼字符集(由於ascii碼高位為0因此,國標碼相容ascii碼部分為單位元組)常用的國標碼中gb18030字符集更加豐富。

注意unicode只是乙個字符集,它只規定了自然符號和二進位製碼的對映關係,但沒有規定這個二進位製碼的儲存策略。

由於unicode字符集過於龐大,在使用中會占用2~4倍的儲存空間,並且很多字元儲存中會出現大量冗餘位元組(設每個字元佔4位元組,英文僅需要乙個位元組表示,那所有的 ascii 字元前三個位元組全為0,這是無法接受的)

純文字檔案採用ascii碼表示為1m。若內容不變改為unicode編碼表示則會變成4m,直接擴大了4倍。無論從何種角度來看這都是無法接受的。

注意: 它不是unicode字符集子集,而是unicode實現方式之一

特點

編碼規則

1 與gbk的策略一致,當高位為0時,認為是ascii字元,反之為其他字元。

2 以首個位元組的高位的第乙個0前的1個數標記該字元所佔位元組數,其後為unicode碼值。

計算機字元編碼

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

計算機字元與編碼

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

計算機編碼 編碼

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