ASCII(American Standard Code for Information Interchange,美国标准信息交换代码)是基于拉丁字母的一套电脑编码系统,主要用于显示现代英语和其他西欧语言。它是现今最通用的单字节编码系统,并等同于国际标准ISO/IEC 646。
请注意,ASCII是American Standard Code for Information Interchange缩写,而不是ASC2,有很多人在这个地方产生误解。[1]
 

产生

在计算机中,所有的数据在存储和运算时都要使用二进制数表示(因为计算机用高电平和低电平分别表示1和0),例如,像a、b、c、d这样的52个字母(包括大写)、以及0、1等数字还有一些常用的符号(例如*、#、@等)在计算机中存储时也要使用二进制数来表示,而具体用哪些二进制数字表示哪个符号,当然每个人都可以约定自己的一套(这就叫编码),而大家如果要想互相通信而不造成混乱,那么大家就必须使用相同的编码规则,于是美国有关的标准化组织就出台了ASCII编码,统一规定了上述常用符号用哪些二进制数来表示。
美国标准信息交换代码是由美国国家标准学会(American National Standard Institute , ANSI )制定的,标准的单字节字符编码方案,用于基于文本的数据。起始于50年代后期,在1967年定案。它最初是美国国家标准,供不同计算机在相互通信时用作共同遵守的西文字符编码标准,它已被国际标准化组织(International Organization for Standardization, ISO)定为国际标准,称为ISO 646标准。适用于所有拉丁文字字母。
 

表述方式

ASCII 码使用指定的7 位或8 位二进制数组合来表示128 或256 种可能的字符。标准ASCII 码也叫基础ASCII码,使用7 位二进制数来表示所有的大写和小写字母,数字0 到9、标点符号, 以及在美式英语中使用的特殊控制字符。其中:
0~31及127(共33个)是控制字符或通信专用字符(其余为可显示字符),如控制符:LF(换行)、CR(回车)、FF(换页)、DEL(删除)、BS(退格)、BEL(响铃)等;通信专用字符:SOH(文头)、EOT(文尾)、ACK(确认)等;ASCII值为8、9、10 和13 分别转换为退格、制表、换行和回车字符。它们并没有特定的图形显示,但会依不同的应用程序,而对文本显示有不同的影响。
32~126(共95个)是字符(32是空格),其中48~57为0到9十个阿拉伯数字。
65~90为26个大写英文字母,97~122号为26个小写英文字母,其余为一些标点符号、运算符号等。
同时还要注意,在标准ASCII中,其最高位(b7)用作奇偶校验位。所谓奇偶校验,是指在代码传送过程中用来检验是否出现错误的一种方法,一般分奇校验和偶校验两种。奇校验规定:正确的代码一个字节中1的个数必须是奇数,若非奇数,则在最高位b7添1;偶校验规定:正确的代码一个字节中1的个数必须是偶数,若非偶数,则在最高位b7添1。
后128个称为扩展ASCII码。许多基于x86的系统都支持使用扩展(或“高”)ASCII。扩展ASCII 码允许将每个字符的第8 位用于确定附加的128 个特殊符号字符、外来语字母和图形符号。

最新文章

  1. Asp.net NVelocity 模版引擎
  2. 夺命雷公狗-----React---5--props对象的传递
  3. SQL Server之存储过程基础知识
  4. iphone dev 入门实例3:Delete a Row from UITableView
  5. java导出excel表格
  6. HTML to DOM
  7. (转)[老老实实学WCF] 第二篇 配置WCF
  8. spring mvc 和 jstl
  9. MyCat 读写分离,负载均衡
  10. c#委托之浅析
  11. 练习: bs4 简单爬取 + matplotlib 折线图显示 (关键词,职位数量、起薪)
  12. Logging - MVC Using Log4net Save to File and Database
  13. 资源贴——以备时时查询用
  14. jenkins 找插件下载的方法
  15. Linux学习笔记之四————Linux常用命令之文件管理
  16. TCP/IP 笔记 - 传输控制协议
  17. 对类型“Func<,>”的引用声称该类型是在“mscorlib”中定义的,但未能找到
  18. (转)使用Flexible实现手淘H5页面的终端适配
  19. map模块使用方法
  20. .NET/C# 判断某个类是否是泛型类型或泛型接口的子类型

热门文章

  1. asp.net mvc下实现微信公众号(JsApi)支付介绍
  2. JavaScript-DOM续
  3. Mac上使用brew安装nvm来支持多版本的Nodejs
  4. Java学习笔记——设计模式之九.建造者模式
  5. java中关于IO流的知识总结(重点介绍文件流的使用)
  6. kubernetes实战篇之helm完整示例
  7. CentOS 7出现Failed to start firewalld.service: Unit is masked的解决办法和firewalld 防火墙开关
  8. 总结关于CPU的一些基本知识
  9. SqlHelper(基础)
  10. SPOJ:NPC2016A(数学)