计算机基础知识第七期——进制与编码
一、进制转换
计算机底层只认 二进制(0/1),但为了人类读写方便,常用:
- 二进制(Binary): 0, 1 ,底 2
- 十进制(Decimal): 0~9 ,底 10
- 八进制(Octal): 0~7 ,底 8
- 十六进制(Hex): 0~9, A~F ,底 16
1. 十进制 → 其他进制
除基取余,逆序排列
- 除以目标进制,记录余数
- 直到商为 0,把余数从下往上读
例:十进制 25 → 二进制
25 ÷ 2 = 12 … 1
12 ÷ 2 = 6 … 0
6 ÷ 2 = 3 … 0
3 ÷ 2 = 1 … 1
1 ÷ 2 = 0 … 1
结果:11001
2. 其他进制 → 十进制
按位展开 × 权值相加
例:二进制 11001 → 十进制
1×2⁴ + 1×2³ + 0×2² + 0×2¹ + 1×2⁰
= 16 + 8 + 0 + 0 + 1 = 25
3. 二进制 ↔ 十六进制(最常用)
- 4 位二进制 = 1 位十六进制
- 从右往左分组,不足补 0
例:
二进制 11001 → 分组 0001 1001 → 十六进制 19
二、常见编码方式
编码 = 把字符/数字 → 计算机能存的二进制
1. ASCII
- 美国信息交换标准码
- 只包含:英文字母、数字、符号
- 1 字节(8 位),范围 0~127
- 缺点:不支持中文
2. GB2312 / GBK / GB18030
- 中文国家标准编码
- GB2312:简体中文常用字
- GBK:扩展,包含繁体、生僻字
- GB18030:更大字符集,兼容所有汉字
- 特点:中文系统早期常用,与 ASCII 不兼容
3. Unicode(统一码)
目标:全球所有语言用一套编码
常见实现:
- UTF-8:互联网最主流
- 英文 1 字节,汉字 3 字节
- 兼容 ASCII,无乱码风险
- UTF-16:Windows 内核、Java 常用
- UTF-32:固定 4 字节,浪费空间
4. Base64
- 不是字符编码,是二进制转文本的编码
- 把任意数据转成 A-Z、a-z、0-9、+/ 共 64 个可打印字符
- 用途:图片转字符串、URL 传输、邮件附件
5. URL 编码
- 把特殊字符(如空格、中文、&、=)转成 %XX 形式
- 例: 中文 → %E4%B8%AD%E6%96%87
- 用于网址、表单提交
简单总结
- 进制核心:除基取余、按权展开
- 编码核心:
- 英文用 ASCII
- 中文早期用 GBK
- 现在全球统一用 UTF-8
- 数据传输用 Base64 / URL 编码



评论