计算机字符编码

ASCII码中已知m代表十六进制数6D,那么怎么推算q代表多少

1.西文编码

    1

    1.西文编码

    就像莫尔斯电码(Morse Code)用点和划来表示英文字母表中的字母,计算机用一系列 本先规定好的位,即编码,来表示字母、符号和数字。以下是几种西文常用的编码方式。

    2

    1) ASCII 码

    目前计算机中使用最广泛的字符编码是ASCII码,即美国标准信息交换码(American Standard Code for Information Interchange)。ASCII 包括 32 个通用控制字符、丨0 个十进制数 码、52个英文大小写字母和34个专用符号,共128个元素,用7位二进制数进行编码。通 常使用一个字节(即8个二进制位)表示一个ASCII码字符,规定其最高位总是0。表1-3 为ASCII码编码表。

2)扩展 ASCII 码(Extended ASCII)


由于标准ASCII码字符集字符数目有限,在实际应用中往往无法满足要求。为此,国际 标准化组织又将ASCII码字符集扩充为8位代码及ASCII码的扩充。这样,ASCII码的字符 集可以扩充128个字符,也就是使用8位扩展ASCII码能为256个字符提供编码^这些扩充 字符的编码均为高位为1的8位代码(即十进制数128〜255 ),称为扩展ASCII码。扩展 ASCII码所增加的字符包括加框文字、圆圈和其他图形符号。

汉字编码

    所谓汉字编码,就是采用一种科学可行的办法,为每个汉字编一个唯一的代码,以便计算机辨认、接收和处理。为了实现在不同设备之间交换信息,对于汉字也需要制定人们共同 遵守的编码标准。现在,汉字编码主要有3种GB 2312—80、B1G5和GBK。

    1) GB 2312—80 (国标码)

    1981年我国公布的《通用汉字字符集(基本集)及其交换码标准》GB 2312—80编码 (简称国标码),它规定每个汉字编码由两个字节构成。第一个字节的范围从A1H~FF:H, 共94种,第二个字节的范围也为A1H~FEH,共94种。利用这两个字节可定义出94 x 94 =8836种汉字,实际共定义了 6763个汉字和682个符号。汉字分为两级,即一级(常 用)汉字3755个(按汉语拼音排序)和二级(次常用)汉字3008个(按偏旁部首排序)。

    Microsoft Windows 3. 2操作系统就是以GB 2312—80为基本汉字编码的。

2) BIG5 码


B1G5码主要是一个繁体字编码字符集。B1G5码编码规则是:每个汉字编码由两个字节 构成,第一个字节的范围从A1H〜F9H,共89种,第二个字节的范围分别为40H〜7EH, A1H〜FEH,共157种。也就是说,利用这两个字节共可定义出89 x 157 = 13973种汉字, 其中,常用字共5401个,次常用字共7652个,剩下的便是一些特殊字符。

3) GBK码


GBK是GB 2312—80的扩展,与GB 2312—80是兼容的,因此GB 2312—80中的汉字 编码与GBK中的汉字编码相同。GBK中每个汉字仍然包含两个字节,第一个字节的范围是 0x81〜OxFE (即129〜254),第二个字节的范围是0x40〜OxFE (即64〜254)。GBK中有码 位23940个,包含汉字21003个。


Microsoft简体版中文Windows 95就是以GBK为汉字编码的。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2021-01-19

第2个回答  2019-10-14
m n o p q
比如q编码是1,q的编码就是1+4 = 5
所以q的编码是m的编码+4位
q的编码=6D+4=71追问

请问为什么6D加4就是71了呢

追答

在16进制里,A=10,B=11,C=12,D=13,E=14,F=15,16进位
所以(6|D) 看起来有两位实际上是 (6|13),十位上的6代表的是6*16
13+4 = 17 但是要进位,所以个位变成1,整16加到10位,变成6+1 =7

追问

多谢

本回答被提问者采纳
第3个回答  2019-10-14
q与m相差4,就是6D+4=71 (6E,6F,70,71)
第4个回答  2019-10-14
十六进制数6D, 加 q 在26个英文字母中的次序, 减去 m 在26个英文字母中的次序 就得到q代表多少。 (q 在 m 后面4个,所以 等于 0x6D + 4 = 0x71。)
用 c 语言 写程序如下。
#include <stdio.h>
int main(){
int m=0x6D,q;
q = m - 'm'+'q';
printf("%c=0x%X %c=0x%X",m,m,q,q);
return 0;
}
输出: m=0x6D q=0x71
即 q 代表十六进制数 71
十六进制: 6D+1 = 6E; 6E+1=6F; 6F+1 = 70 (逢16进1之故);70+1=71.
相似回答