购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

第13课
ASCII编码背后的秘密
(ASCII编码)

计算机内部以二进制形式存储数据,但我们使用的语言是基于字符的。为了在计算机中存储和处理文本,需要一种方法将字符映射到数字,以便计算机能够理解和处理文本数据。

由于不同的系统使用了不同的编码,因此为了解决编码统一的问题,人类创造了ASCII编码,其中每个字符都有一个唯一的对应数值。

获取ASCII编码

C++是区分数据类型的,不同的数据类型之间并非都可以直接转换。如果把字符的ASCII编码视为数值,那么强行将字符类型转换成数字类型,会不会就变成了字符对应的ASCII编码呢?

运行程序:

     请输入一个字符:a
     a的ASCII编码是:97

(1) char c 声明一个字符变量c。

(2) asciiNum = c 将字符变量的值赋给整数变量asciiNum。

ASCII编码对照表

将程序结果与对照表进行比较,看看程序运行是否正确。

可见将字符类型转换成数值类型,转换后的数值就是对应的ASCII码。

逆向思维

如果把字符后强行转换成数值是ASCII码,那么把数值强行转换成字符也会对应上吗?

运行程序:

     请输入一个整数字:65
     65 ASCII编码对应的字符是:A

数值强行转换成字符也对应上了。

加一加

英文字母一共有26个,那么a到z间隔了多少个字母呢?

运行程序:

     a + 25 = z

给'a'加上25,运算了一下就变成'z'。

字母大小写转换

大写字母的A~Z对应的ASCII编码是65~90,小写字母的a~z对应的ASCII编码是97~122,同一字母大小写之间相差32。

大写字母转换为小写字母

运行程序:

     请输入大写字母:G
     G的小写字母是:g

小写字母转换成大写字母

运行程序:

     请输入小写字母:e
     e的大写字母是:E

巩固练习

(1)ASCII编码中,小写字母a的ASCII码值是多少?( )

A.96

B.97

C.65

D.66

(2)如果希望将大写字母'A'转换为小写字母'a',应该将ASCII码值减去多少?( )

A.25

B.26

C.27

D.32

(3)编写一个C++程序,接收输入的小写字母,输出它的ASCII编码及其对应的大写字母。例如:如果用户输入小写字母a,则程序输出97和大写字母A。 NoC2QTlOiFJBZ+w7Wdnhy9nWcawMT0F7rekNBAGDlLTRJb5D8PkZ6xoNCm7dzxgm

点击中间区域
呼出菜单
上一章
目录
下一章
×