官术网_书友最值得收藏!

1.2.3 信息編碼

數據泛指一切可以被計算機接受并處理的符號,可包括數值、文字、圖形、聲音、視頻等各種信息。在計算機中,數據信息只有轉換成數字編碼的形式,計算機才能進行處理。編碼就是將一類數據按某一編碼表轉換成對應代碼的過程,編碼技術應用于許多方面。計算機中只識別0和1碼,因此,在計算機中對數字、字符及漢字就要用二進制的各種組合形式來表示,這就是二進制的編碼系統。

1.數值數據的編碼

數值數據指我們日常生活中所說的數或數據,它有正負、大小之分,還有整數和實數之分,數值數據在計算機中是用二進制代碼來表示的。我們把一個數在計算機內部表示成的二進制形式稱為機器數,原來的數稱為這個機器數的真值。機器數有不同的表示方法,常用的有原碼、反碼、補碼等。

原碼是最簡單的一種機器數表示方法。原碼表示的規則是:最高位(最左邊一位)表示數的符號:“0”表示正號,“1”表示負號;其余各位表示數的大小,即這個數的絕對值。

補碼表示的規則是,正數的補碼即是它本身;負數的補碼可以用以下簡便的方法求得:符號位取1,其余各位按其真值取反(即0變1,1變0),然后在它的末位上加1。

反碼與補碼的不同之處僅僅在于負數的反碼只求反而不加1。

對于小數的表示方法有兩種,即定點數表示和浮點數表示。

2.非數值數據的編碼

非數據數據是指除數值數據之外的字符,如各種符號、數字、字母、漢字等。同樣,它們也是用二進制代碼來表示的。

(1)字符編碼

在計算機中使用最廣泛的字符編碼是ASCII碼(American Standard Code for Information Interchange,美國標準信息交換碼),ASCII碼被國際化標準組織確定為世界通用的國際標準。如表1.2.2所示。

表1.2.2 ASCII字符編碼表

表中可以看出,每個字符用7位二進制碼表示。一個字符在計算機內用8位表示,基本ASCII碼最高位為0,擴充ASCII碼的最高位為1。基本ASCII碼共有128個字符,其中95個編碼對應著計算機終端輸入并可以顯示的字符,如英文大小寫字母各26個、0~9十個數字符、標點符號等,另外33個字符是控制碼,控制著計算機某些外圍設備的工作特性和軟件運行情況。

如果需要確定字母、數字及各種符號的ASCII碼值,可在表中查出其所在的位置,根據字符所在行的高3位(d6d5d4)和列的低3位(d3d2d1d0)編碼查出。

例如,字符“A”的ASCII碼是1000001,若用十六進制表示為41H,若用十進制表示為65D。

(2)二~十進制的數字編碼

我們日常生活中習慣使用十進制數,為了使計算機能識別、存儲十進制數,并能直接用十進制數形式進行運算,就需要對十進制數進行編碼,即用0和1的不同組合形式來表示十進制數的各個數位上的數字,進而表示一個十進制數。

將十進制數表示為二進制編碼的形式,稱為稱為十進制數的二進制編碼,簡稱二~十進制編碼或BCD(Binary Coded Decimal)碼。

最常用的二~十進制的數字編碼是8421碼,其表示方法是每一位十進制數用4位二進制數表示,從左到右分別為8、4、2、1權碼,4位二進制數有16種編碼,只取0000~1001十種表示十進制數中的0~9。表1.2.3列出十進制數與BCD碼以及二進制數的對比關系。

表1.2.3 BCD碼與十進制數、二進制數的對比關系

(3)漢字編碼

漢字編碼主要用于解決漢字輸入、處理和輸出的問題。根據對漢字的輸入、處理、輸出的不同要求,漢字的編碼主要分為4類:漢字輸入碼、漢字內部碼、漢字字形碼、漢字交換碼。

①漢字輸入碼(外碼)。輸入漢字時使用的編碼稱為漢字輸入碼,也稱為漢字的外碼(簡稱外碼),其作用是實現按照某一方式輸入漢字。目前我國的漢字輸入碼編碼方案有上千種,主要分為4類:數字編碼(國際區位碼、電報碼)、拼音編碼(全拼、雙拼)、字型編碼(五筆)和音形編碼(自然碼)。

②漢字內部碼(內碼)。漢字內部碼是指在計算機內部處理漢字信息時所使用的漢字編碼,漢字內部碼也稱為漢字機內碼(簡稱內碼)。漢字輸入計算機后,計算機系統一般都會把各種不同的漢字輸入編碼轉換成唯一的機內碼。在漢字信息系統內部,對漢字信息的采集、傳輸、存儲、加工運算的各個過程都要用到漢字機內碼。

③漢字字形碼(字模碼)。漢字字形碼是指文字字形存儲在字庫中的數字化代碼。當需要顯示或打印漢字時,通常是把單個漢字離散成網點,每點以一個二進制位表示,由此組成的漢字點陣字形(字模)稱為漢字字形碼,一個漢字信息系統所有的漢字字形碼的集合構成了該系統的漢字庫。

根據輸出漢字的要求不同,漢字點陣的多少也不同。漢字點陣點數的多少直接影響漢字的造型和質量,點數越多,漢字的質量越高。目前在微機中,普遍采用的16×16、24×24、32×32、48×48等點陣。從使用上分為簡易型、普通型、提高型、精密型,不同字體的漢字需要不同的點陣字庫。字模點陣信息量很大,占存儲空間也很大。以16×16點陣漢字為例,每個漢字就要占用16×16/2=32(B)。

根據漢字庫中漢字字形碼的存儲方式的不同,可把漢字庫分為軟字庫和硬字庫兩種。軟字庫是將漢字庫文件存儲在軟盤或硬盤中;硬字庫是利用漢卡(由Rom和Ram芯片制成)將漢卡安裝在機器的擴展槽中。

④漢字交換碼。

GB 2312—1980標準:為了適應漢字信息處理技術日益發展的需要,國家標準局于1981年發布了《中華人民共和國標準信息交換用漢字編碼字符集·基本集》,簡稱GB 2312—1980,這種編碼簡稱為國標碼。共收錄包括一級漢字3755個和二級漢字3008個,各種符號682個,總計7445個。

國標碼規定每個字符由2個字節代碼組成,每個字節最高位為0,其余7位用于組成各種不同的碼值。

GBK標準:是GB 2312—1980的擴展,共有21883個漢字和符號。

ISO 10646標準:國際標準化組織公布的一個標準,它包括了世界上的各種語言,GBK包含在其中。

從漢字編碼的轉換角度,圖1.2.1顯示了幾種編碼之間的關系,其間都需要各自的轉換程序來實現。

圖1.2.1 各種編碼之間的關系

主站蜘蛛池模板: 正镶白旗| 枞阳县| 长阳| 长春市| 天水市| 来凤县| 夏津县| 龙游县| 博客| 新泰市| 沁水县| 资阳市| 芦溪县| 鄂尔多斯市| 洪湖市| 镇巴县| 连城县| 枣阳市| 屯门区| 黔南| 和林格尔县| 钦州市| 雅江县| 双柏县| 台北市| 名山县| 麻阳| 慈溪市| 武平县| 卓资县| 怀柔区| 铜川市| 黑水县| 四平市| 建平县| 新干县| 大兴区| 高州市| 武陟县| 洞头县| 临夏市|