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

1.4 常用編碼方案

1.4.1 BCD碼

在日常生活中,我們使用十進制數字,二進制編碼十進制(Binary-Coded Decimal,BCD)采用4位二進制碼來表示十進制數中的0~9這10個數碼。BCD碼有很多種形式,如8421碼、余3碼、5421碼和2421碼等,其中,8421碼應用最為廣泛,它與十進制的對應關系見表1-2。

【例1-8】 將345轉換為BCD碼。

根據表1-2,345對應的BCD碼為(001101000101)。

【例1-9】 將BCD碼(010100010010)轉換為十進制數,從右向左每4位分隔開,

并用BCD碼替換對應的十進制數,結果為512。

表1-2 BCD碼與十進制的對應關系

1.4.2 ASCII碼

由于計算機只能識別二進制數字(0或1),因此必須將所有信息(如數字、字母和符號)表示為二進制數。一種常用的字符信息編碼是美國信息交換標準編碼(American Standard Code for Information Interchange,ASCII)。

在ASCII碼中,每個字符都有一個7或8位二進制數組合的表示形式,其中最高有效位用于奇偶校驗位。表1-3為ASCII碼及對應的十六進制值。十六進制00~1F以及7F對應的字符是控制字符,為不可打印字符,如NUL、SOH、STX、ETX、ESC、DLE等。

表1-3 ASCII碼及對應的十六進制值

【例1-10】 將單詞“Network”轉換為二進制,并以十六進制顯示結果。

通過使用表1-3,每個字符由7位二進制數組合表示,結果如下。

以十六進制顯示結果為

1.4.3 Unicode

Unicode是一種新的編碼標準,共有3種具體實現方式,分別為UTF-8、UTF-16和UTF-32。其中,UTF-8占用1~4個字節,UTF-16占用2或4個字節,UTF-32占用4個字節。用于表示大多數語言(如希臘語、阿拉伯語、中文和日語)中的字符和數字。ASCII碼使用7或8位二進制數組合表示拉丁語中的每個字符,一共可表示256個字符,但不支持數學符號和科學符號。Unicode使用16位二進制數組合時,可以表示65 536個字符或符號。Unicode中的字符由16位二進制數組合表示,相當于十六進制的4位數字。例如,Unicode中的字符B用十六進制表示是U0042(U表示Unicode)。ASCII碼在(00)16到(7F)16之間表示。為了將ASCII碼轉換為Unicode,在ASCII碼的左側添加兩個0,因此,表示ASCII字符的Unicode在(0000)16到(007F)16之間。

1.4.4 非ASCII碼

英語用128個符號編碼就夠了,但是表示其他語言時,128個符號是不夠的。我國于1980年制定了GB1988—80《信息處理交換用七位編碼字符集》,除了用人民幣符號¥代替美元符號$外,其余代碼與ASCII碼相同。當然,除了國家標準GB1988—80,我國還制定了GB2312《信息交換用漢字編碼字符集 基本集》,使用兩個字節表示一個漢字,所以理論上最多可以表示65 536個符號。

主站蜘蛛池模板: 宜兰县| 织金县| 渑池县| 芜湖县| 长汀县| 广宁县| 曲松县| 湟中县| 南和县| 根河市| 信丰县| 宜昌市| 长乐市| 宁化县| 依安县| 灵武市| 株洲县| 洞头县| 涿州市| 临武县| 顺昌县| 阜新市| 城步| 改则县| 贵港市| 榆树市| 江口县| 乾安县| 乌恰县| 柳林县| 北碚区| 惠来县| 吴桥县| 涪陵区| 从江县| 辉县市| 五峰| 乌拉特中旗| 洛川县| 佛教| 公主岭市|