Python之ASCII码

一、简介

ASCII 全称 American Standard Code for Information Interchange,第一次以规范标准的类型发布是在1967年,最后一次更新是在1986年,截止目前共定义了128个字符

二、产生原因:

计算机中所有数据的存储和运算都使用二进制表示,为了彼此相互通信,所以需要使用相同的编码规则。

三、表达方式:

ASCII码使用指定的7位(剩下的1位二进制为0)或者8位二进制表示128或256中可能的字符。标准ASCII码也叫基础ASCII码。

  1. 0~31及127(共33个)是控制字符或通信专用字符(其余为可显示字符),如控制符:LF(换行)、CR(回车)、FF(换页)、DEL(删除)、BS(退格)、BEL(响铃)等;通信专用字符:SOH(文头)、EOT(文尾)、ACK(确认)等;
    ASCII值为8、9、10 和13 分别转换为退格、制表、换行和回车字符。它们并没有特定的图形显示,但会依不同的应用程序,而对文本显示有不同的影响。
  2. 32~126(共95个)是字符(32是空格),其中48~57为0到9十个阿拉伯数字。
  3. 65~90为26个大写英文字母,97~122号为26个小写英文字母,其余为一些标点符号、运算符号等。
  4. 同时还要注意,在标准ASCII中,其最高位(b7)用作奇偶校验位。

奇偶校验

所谓奇偶校验,是指在代码传送过程中用来检验是否出现错误的一种方法,一般分奇校验和偶校验两种
奇校验规定:正确的代码一个字节中1的个数必须是奇数,若非奇数,则在最高位b7添1;
偶校验规定:正确的代码一个字节中1的个数必须是偶数,若非偶数,则在最高位b7添1

4、大小规则

常见ASCII码的大小规则:0-9<A-Z<a-z
GB2312-80 标准

1、GB2312-80 是 1980 年制定的中国汉字编码国家标准。共收录 7445 个字符,其中汉字 6763 个。
2、GB2312 兼容标准 ASCII码,采用扩展 ASCII 码的编码空间进行编码,一个汉字占用两个字节,
每个字节的最高位为 1。
3、具体办法是:收集了 7445 个字符组成 94*94 的方阵,每一行称为一个“区”,每一列称为一个“位”,
区号位号的范围均为 01-94,区号和位号组成的代码称为“区位码”。
4、区位输入法就是通过输入区位码实现汉字输入的。
将区号和位号分别加上 20H,得到的 4 位十六进制整数称为国标码,编码范围为 0x2121~0x7E7E。
5、为了兼容标准 ASCII 码,给国标码的每个字节加 80H,形成的编码称为机内码,简称内码,是汉字
在机器中实际的存储代码GB2312-80 标准的内码范围是 0xA1A1~0xFEFE

GBK 编码标准

1、《汉字内码扩展规范》(GBK) 于1995年制定,兼容GB2312、GB13000-1、BIG5 编码中的所有汉字,
使用双字节编码,编码空间为 0x8140~0xFEFE,共有 23940 个码位,其中 GBK1 区和 GBK2 区
也是 GB2312 的编码范围。
2、收录了 21003 个汉字。GBK向下与 GB 2312 编码兼容,向上支持 ISO 10646.1国际标准,是前者
向后者过渡过程中的一个承上启下的产物。
3、ISO 10646 是国际标准化组织ISO 公布的一个编码标准,
即 Universal Multilpe-Octet Coded Character Set(简称UCS),
大陆译为《通用多八位编码字符集》,台湾译为《广用多八位元编码字元集》,
它与 Unicode 组织的Unicode编码完全兼容。
4、ISO 10646.1 是该标准的第一部分《体系结构与基本多文种平面》。
我国 1993 年以 GB 13000.1 国家标准的形式予以认可(即 GB 13000.1 等同于 ISO 10646.1)

GB18030编码标准

1、国家标准GB18030-2000《信息交换用汉字编码字符集基本集的补充》是我国继GB2312-1980
和GB13000-1993之后最重要的汉字编码标准,是我国计算机系统必须遵循的基础性标准之一。
2、GB18030-2000编码标准是由信息产业部和国家质量技术监督局在2000年 3月17日联合发布的,
并且将作为一项国家标准在2001年的1月正式强制执行。
3、GB18030-2005《信息技术中文编码字符集》是我国制订的以汉字为主并包含多种我国
少数民族文字(如藏、蒙古、傣、彝、朝鲜、维吾尔文等)的超大型中文编码字符集强制性标准,
其中收入汉字70000余个

Unicode字符集可以简写为UCS(Unicode Character Set)

UTF是“UCS Transformation Format”的缩写
1、Unicode是国际组织制定的可以容纳世界上所有文字和符号的字符编码方案。
Unicode用数字0-0x10FFFF来映射这些字符,最多可以容纳1114112个字符,或者说有1114112个码位。
2、码位就是可以分配给字符的数字。UTF-8、UTF-16、UTF-32都是将数字转换到程序数据的
编码方案。

ASCII码
示例

# 汉字对应的ASCII码
print(chr(20056)) # 输出 '乘'
print(ord('乘')) # 输出 20056
  • 4
    点赞
  • 34
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

两个猫崽子和你

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值