20.二进制和序列化
目录
1. 简要介绍数字系统
2. 字节字面量
3. 类字节对象
3.1 不可变 bytes 用法
3.2 可变 bytearray 用法
4. 整数转bytes
4.1 标准库 int.to_bytes(最通用)
4.2 将字节对象转为整数
5. 序列操作
6. 读写二进制文件
7. 序列化技术
8. 序列化格式
1. 简要介绍数字系统
二进制属于计算机语言,二进制只有0和1两种数字,二进制 是唯一同时满足物理易实现、逻辑易运算、成本易量产的通用符号系统,因此成为计算机的母语。
数字系统 是用不同符号和位权来数数,是一种约定。
日常用 十进制(0-9),计算机常用 二进制、八进制、十六进制。
1. 十进制(Decimal)——人类日常
- 符号:0-9
- 位权:10⁰, 10¹, 10²…
- 例:
123 = 1×10² + 2×10¹ + 3×10⁰
2. 二进制(Binary)
- 符号:0, 1
- 位权:2⁰, 2¹, 2²…
- 例:
0b101 = 1×2² + 0×2¹ + 1×2⁰ = 5
3. 八进制(Octal)
- 符号:0-7
- 位权:8⁰, 8¹, 8²…
- 例:
0o12 = 1×8¹ + 2×8⁰ = 10