1 字节(byte)的单位
1KB = 2*10 Bytes
1MB = 1KB * 1024 = 2**20 Bytes
1GB = 1KB * 1K * 1K = 2**30 Bytes
# 1byte = 8bit(位)
2 二进制文件
二进制文件是以字节(byte) 为单位存储的,
不以换行符(\n)为单位进行区分内容的文件读写方法
3 打开模式mode
’ b ‘
4 字节串 bytes
字节串也称之为字节序列
存储时以字节为单位的数据
字节串时不可变的字节序列
(如果不好理解,可以参考元组)
备注:
字节是0~255(2**8-1)之间的整数(0b11111111, 0b00000000)
字符串存的数是1~65535(2**16-1)之间的数(UNICODE16/UNICODE32)
5 创建字节串
在非特殊情况下,在创建字符串时,单引号和双引号具有相同的作用
5.1 创建空字节串
创建空字符串有两种方式
方式1:
>>> b = b"" >>> b b‘‘ >>> B = B"" >>> B b‘‘
方式2:
>>> D = bytes() >>> D b‘‘
5.2 创建非空字节串
>>> a = b"ABCD" >>> b = b"ABCD" >>> c = b‘‘‘ABCD‘‘‘ >>> d = b‘\x41\x42‘ >>> a b‘ABCD‘ >>> b b‘ABCD‘ >>> c b‘ABCD‘ >>> d b‘AB‘
6 字节串的构造(创建)函数 bytes
bytes() :创建一个空字节串, 等同于b‘‘
bytes(整型可迭代对象) : 用可迭代对象初始化一个字节串(数值必须是0~255的整数)
bytes(整数n) : 生成n个值为0的字节串
bytes(字符串, encoding=‘utf-8‘) :用字符串转换编码生成一个字节串
示例
>>> b = bytes(range(0x41,0x41+26)) >>> b b‘ABCDEFGHIJKLMNOPQRSTUVWXYZ‘ >>> c = bytes(4) >>> c b‘\x00\x00\x00\x00‘ >>> e = bytes("python", ‘ascii‘) >>> e b‘python‘ >>> f = bytes("中文",‘utf-8‘) >>> f b‘\xe4\xb8\xad\xe6\x96\x87‘
7 字节串的运算
+ += * *=
比较运算: < <= > >= == !=
in /not in 运算符
索引 index
切片 slice
8 二进制文件的写操作示例