计算机中数值数据的编码:
——带符号数的编码:原码、反码、补码
——实数编码方式:定点数和浮点数
非数值数据的编码:
——西文字符编码:ASCII 码、ISO8859
——汉字字符编码:国标码、机内码、区位码
——多媒体信息编码
——通用编码:Unicode 编码、UTF-8、UTF-16
数值在计算机中的表示形式:
- 机器数:符号位+数值
- 带符号的数:原码、反码、补码
- 带小数点的数:定点数、浮点数
原码、反码、补码换算(二进制):
- 正数:相同、符号位为 0
- 负数:原码:符号位为 1,
- 反码:原码除符号位外,逐位取反
- 补码:反码末位加 1
- 计算机中一般使用补码
进制转换:
- 八进制转二进制:每个数转为一个三位的二进制
- 二进制转八进制:以小数点为基准,分别向两侧将每三位分为一组,再将每组转换为一位八进制数(三合一),最右不足三位时,添 0 补足三位
- 二进制转十六进制:四合一
二进制数常用单位:
位(bit):计算机数据处理的最小单位
字节(byte):8 位二进制数组成一个字节,计算机中数据处理和存储容量的基本单位
ASCII 码(二进制):
- 一个字节表示一个字符,最高位取 0,即为 7 位编码
- 记忆:0 字符的 ASCII 值为 48
A 字符为 65
a 字符为 97
Space为32
- ASCII 码为二进制,转换时用十进制做,a 与 A 之间相差 32
- 比较大小时谁的 ASCII 码小谁就小
- 是在计算机系统中应用最为广泛的字符(区分:在计算机中存储多种语言的字符需要一套统一的、支持多种语言的编码,这种编码方式为 Unicode 码)
ISO8859 字符集:
- 扩展 ASCII 码字符集
- 8 位编码
GB2312 码(国标码)(信息交换码)(二进制)(编码标准):
- 两个字节表示一个汉字字符,每个字节最高位取 0
- 行和列范围为 33~94 列/行
区位码(十进制):
- 用两位十进制数对国标码的行号和列号编码,组成用 4 位十进制数表示的汉字区位码
- 区号——行号 位号——列号
- 区位码=(国标码高八位-(20)H 国标码低八位-(20)H)转为 10 进制
机内码:
- 在计算机中实现国标码存储的汉字编码方案
- 国标码=机内码-8080H
- 国标码=(区位码)H+2020H
Unicode 字符集(编码标准):
- 统一的、支持多语言的编码方案
- 只规定了码位值,并没有规定如何保存、传输编码
- 常见编码方式
——UTF-8:可变长编码西文字符 1 字节,以 0 开头
大部分汉字 3 字节,以 1 开头 python 默认编码方式
——UTF-16:定长编码
4.相比于 UTF-16,UTF-8 编码中 ASCII 字符的存储效率比较高,且没有大端和小端之分,适用于网络传输和通信
神奇的事来了!!!取出这些标红的之后,剩下的就是机内码!!!