- 計算機應用基礎案例教程(Windows 7+WPS 2016+Photoshop CS6)(微課版)
- 張趙管 周兵 主編
- 2014字
- 2020-08-21 17:21:35
1.2.4 數據在計算機中的編碼
由于計算機只能識別和處理二進制代碼,所以在計算機內部,所有數據都必須被轉換為二進制編碼。
1.西文字符編碼
計算機中西文字符主要使用ASCII碼。ASCII碼是“美國信息交換標準代碼”(American Standard Code for Information Interchange)的簡稱,是國際上使用最廣泛的一種字符編碼。ASCII碼有7位的(即基本ASCII碼)和8位的(即擴展ASCII碼)兩種,國際通用的是7位ASCII碼。
基本ASCII碼的編碼規則是:7位ASCII碼,即每個字符用7位二進制數(b6b5b4b3b2b1b0)來表示,可表示27=128個字符,其中包括95個普通字符和33種控制字符。在計算機中,每個ASCII碼字符可存放在一個字節中,最高位(b7)為校驗位用“0”填充,后7位為編碼值,如表1-3所示。
表1-3 ASCII碼表

續表

從表中容易看出:
(1)對字符的ASCII碼值來說,空格<數字<大寫字母<小寫字母。
(2)三組常用字符——阿拉伯數字、大寫英文字母及小寫英文字母,在 ASCII 碼表中,其值分別都是連續遞增的。也就是說,知道了每組字符中的第一個字符的ASCII碼值,則該組中的其他字符的ASCII碼值都是可以計算出來的。如:若已知字符“A”的ASCII碼值為65,則可計算出字符“E”的ASCII碼值為69。
此外,ASCII碼表中的可打印字符在PC機標準鍵上都可以找到,當通過鍵盤輸入字符時,每個字符實際是按ASCII碼轉換為相應二進制數字串,屏幕上顯示相應字符,同時將該字符的ASCII碼送入計算機的存儲器中。
前面介紹的是7位ASCII碼,即基本ASCII碼。為了增加字符的使用數量,把原來的7位碼擴展成8位碼,可以表示28=256個字符,即擴展ASCII碼。擴展ASCII碼的最高位就不是0,而是1了。
2.漢字編碼
ASCII碼只對英文字母、數字和標點符號進行了編碼。為了使計算機能夠處理、顯示、打印、交換漢字字符,同樣也需要對漢字進行編碼。
由于漢字數量巨大,用一個字節遠不足表示全部漢字,所以漢字通常用兩個字節來表示,漢字編碼比英文字符編碼要復雜得多。
漢字信息的編碼體系主要有國標碼、區位碼、機內碼、輸入碼和字形碼。
(1)國標碼
1980年,國家標準局頒布了用于信息處理的漢字國家標準GB2312—80《國家信息交換用漢字編碼字符集(基本集)》,簡稱“國標碼”。該標準收錄了6763個常用漢字(其中一級常用漢字3755個,二級次常用漢字3008個),以及英、俄、日文字母與其他符號682個,共有7445個符號。任何漢字編碼都必須包括國標碼規定的這兩級漢字。
世界上使用漢字的地區除了中國以外,還有日本與韓國。1995年,國家發布了新的國標碼 GBK(漢字國標擴展編碼)。它是對GB2312—80的擴展。該編碼標準兼容GB2312—80,共收錄20902個簡、繁體漢字及各種符號。現在所說的國標碼是指GBK碼。
國標碼規定,二個字節存儲一個漢字,即每個漢字由2個字節代碼組成。每個字節的最高位恒為“0”,其余7位用于組成各種不同的碼值。
(2)區位碼
為了方便查詢和使用,7445個漢字及符號按國標碼順序排列在一張94行、94列的二維表中。每一行叫作一個區,每一列叫作一個位。通過行(區)、列(位)坐標就可以唯一確定每一個漢字和符號的位置。其中,1~9區是各種符號,10~15區是空區,16~55區為一級漢字,56~87區為二級漢字。這樣區號和位號各用2位十進制數就組成漢字區位碼。
(3)漢字機內碼(內碼)
機內碼是計算機內部進行文字(字符、漢字)信息處理時使用的編碼,簡稱內碼。當文字信息輸入到計算機后,都要轉換為機內碼,才能進行各種處理:存儲、加工、傳輸、顯示和打印等。對每一個文字,其機內碼是唯一的。
計算機既要處理漢字,也要處理英文。為了實現中、英文兼容,通常利用字節的最高位來區分某個碼值是代表漢字還是ASCII碼字符。具體做法是,最高位為“1”視為漢字,為“0”則視為ASCII字符。所以,漢字機內碼可在國標碼的基礎上,把兩個字節的最高位一律由“0”改為“1”而構成。由此可見,對ASCII字符來說,機內碼與國標碼的碼值是相同的,而同一漢字的國標碼與機內碼的碼值并不相同。
(4)漢字輸入碼(外碼)
漢字輸入碼是漢字信息由鍵盤輸入計算機時使用的編碼,簡稱外碼。漢字輸入法非常多,最廣泛使用的是五筆字型輸入法和拼音輸入法。
輸入英文時,想輸入什么字符便按什么鍵,輸入碼與機內碼總是一致的。漢字輸入則不同,例如現在要用拼音輸入法輸入“王”字,在鍵盤上依次按 W、A、N、G 鍵,這里的“wang”便是“王”字的輸入碼。
需要指出,無論采用哪一種漢字輸入法,當用戶向計算機輸入漢字時,存入計算機中的總是它的機內碼,與所采用的輸入法無關。
(5)漢字字形碼
漢字字形碼是指漢字字形存儲在字庫中的數字化代碼,用于計算機顯示和打印輸出漢字的“形”,即字形碼決定了漢字顯示和打印的外形。字形碼是漢字的點陣表示,被稱為“字模”。同一文字符號可以有多種“字模”,也就是字體或字庫。
通常漢字顯示使用16×16點陣,漢字打印可選用24×24、32×32、48×48等點陣。點數越多,打印的字體越美觀,但漢字占用的存儲空間也越大。例如,計算存儲一個24×24點陣的漢字需要多少個字節。在24×24的網格中描繪一個漢字,整個網格分為24行、24列,每個小格用1位二進制編碼表示,每一行需要24個二進制位,占3個字節,24行共占24×3=72個字節。