ASCII 庆阳一中 胡昊强
ASCII 什么是ASCII码? ASCII(American Standard Code for Information Interchange,美国信息互换标准代码)是基于拉丁字母的一套电脑编码系统。它主要用于显示现代英语和其他西欧语言。它是现今最通用的单字节编码系统。 www.oistart.com Company Logo
美国信息交换标准代码 在计算机中,所有的数据在存储和运算时都要使用二进制数表示(因为计算机用高电平和低电平分别表示1和0),例如,象a、b、c、d这样的52个字母(包括大写)、以及0、1等数字还有一些常用的符号(例如*、#、@等)在计算机中存储时也要使用二进制数来表示,而具体用哪些二进制数字表示哪个符号,当然每个人都可以约定自己的一套(这就叫编码),而大家如果要想互相通信而不造成混乱,那么大家就必须使用相同的编码规则,于是美国有关的标准化组织就出台了所谓的ASCII编码,统一规定了上述常用符号用哪些二进制数来表示。 www.oistart.com Company Logo
美国信息交换标准代码 美国标准信息交换代码是由美国国家标准学会(American National Standard Institute , ANSI )制定的,标准的单字节字符编码方案,用于基于文本的数据。起始于50年代后期,在1967年定案。它最初是美国国家标准,供不同计算机在相互通信时用作共同遵守的西文字符编码标准,它已被国际标准化组织(International Organization for Standardization, ISO)定为国际标准,称为ISO 646标准。适用于所有拉丁文字字母。 www.oistart.com Company Logo
ASCII码对照表 当然这不是完整版,完整版大家有兴趣的同学可以上网去查。下面我们主要看一下ASCII码在竞赛中的应用。 www.oistart.com Company Logo
两个函数 这里要给大家介绍两个函数 Ord函数 和 Chr函数。 Ord(字符) 它的作用是返回字符对应的ASCII码 比如: 字母A 的ASCII是 65 执行 i:=Ord(‘A’); i的值是多少? www.oistart.com Company Logo
注意:这里Ch是一个字符型变量,声明方法是: 变量名:char; 两个函数 Chr(数字) 它的作用是返回数字对应的字符 执行 ch:=Chr(65); ch的值是多少? Ch的值是字母A。 注意:这里Ch是一个字符型变量,声明方法是: 变量名:char; www.oistart.com Company Logo
(字符要用单引号括住,如Ord(‘a’) 此函数返回数字。 Chr(数字) 括号内可以是数值变量,或者数值。 (数值无需单引号括住) 函数比较 Ord(字符) 括号内可以是字符变量,或者字符。 (字符要用单引号括住,如Ord(‘a’) 此函数返回数字。 Chr(数字) 括号内可以是数值变量,或者数值。 (数值无需单引号括住) 此函数返回字符。 www.oistart.com Company Logo
美国信息交换标准代码 我们先编如下一个小程序: 大家认为程序输出会是什么效果? www.oistart.com Company Logo
美国信息交换标准代码 没错,我们打印了1~127的ASCII对应的字符。 注:ASCII码一共只有128个字符 www.oistart.com Company Logo
美国信息交换标准代码 在这张表里,我们需要记忆的是: 32~126(共95个)是字符,其中 48~57为0到9十个阿拉伯数字; 65~90为26个大写英文字母; 97~122号为26个小写英文字母。 其余为一些标点符号、运算符号等,竞赛中不做要求。 www.oistart.com Company Logo
? 美国信息交换标准代码 ord(‘H’)=? chr(49)=? chr(99)=? ord(‘6’)=? b:=‘z’; 下面我们再来看一下这两个函数 ord(字符) 取ASCII码 返回整型 chr(数字) 取该ASCII的字符 返回字符 ? ord(‘H’)=? chr(49)=? chr(99)=? ord(‘6’)=? b:=‘z’; ord(b)=? 72 整型 2 字符型 c 字符型 53 整型 122 整型 48~57为0到9十个阿拉伯数字; 65~90为26个大写英文字母; 97~122号为26个小写英文字母。 www.oistart.com Company Logo
练习 练习1 从键盘上读入一个1~127的数字,输出它在ASCII码表中对应的字符。 www.oistart.com Company Logo
练习 练习1参考代码 www.oistart.com Company Logo
练习 练习2 用for循环 ,输出26个大写字母 www.oistart.com Company Logo
练习 练习2参考代码 www.oistart.com Company Logo
在各个领域,为保护信息安全,都广泛使用各种加密技术。 练习3 在各个领域,为保护信息安全,都广泛使用各种加密技术。 相应的,为了破解这些资料,也随之产生各种解密技术。 这里介绍一种最简单的加密方法: 把字符在字母表中的位置右移一位,产生新的字符。 www.oistart.com Company Logo
比如要加密 OI, 则右移加密后的字符为 PJ 练习3 字母表: 0 1 2 3 4 5 6 7 8 9 0 A B C D E F G H I 1 J K L M N O P Q R S 2 T U V W X Y Z 比如要加密 OI, 则右移加密后的字符为 PJ www.oistart.com Company Logo
给出字符长度n 和 n个字符,对其进行解密。 (解密方法: 将其位置左移一位) 练习3 练习:字符解密 给出字符长度n 和 n个字符,对其进行解密。 (解密方法: 将其位置左移一位) www.oistart.com Company Logo
提示: 读入n For i:=1 to n do begin read(t); p:=ord(t)-1; s:=chr(p); end; www.oistart.com Company Logo
这里引入一个 字符串 变量(string),它跟字符变量(char)的不同之处是: 提示: 这里引入一个 字符串 变量(string),它跟字符变量(char)的不同之处是: 字符串变量 可以存储 多个字符。 而字符变量只能存储一个。 www.oistart.com Company Logo
program ASCII_03; var i,n,p:integer; t:char; s:string; Begin readln(n); for i:=1 to n do begin read(t); p:=ord(t)-1; s:=s+chr(p); end; writeln(s); end. www.oistart.com Company Logo
对PJ解密 运行程序, 输入字符长度2,回车 输入字符PJ,回车 程序输出:OI www.oistart.com Company Logo
对以下字符解密: Ifmmp (长度5) Obtdbm (长度6) Tubsu (长度5) 31211642 (长度8) 31211642 (长度8) UibolZpv (长度8) www.oistart.com Company Logo
Thank You ! www.oistart.com