1.utf-8编码格式
- 我们写python程序的时候都是使用utf-8编码格式来存储编码格式,网页里面同样的也声明utf-8即可, utf-8是中文、英文、日文等全球文字都可以使用的编码格式,通用性很强。
2.了解bytes和bytearray
- bytes和bytearray是Python3中两个新引入的数据类型;
- bytes是字节组成,有序的,不可变的序列;
- bytearray和bytes一样,也是字节组成的,也是有序的,但它是可变的序列;
3.如何定义bytes?
bytes()
bytes(9)
bytes('hello', encoding='utf-8')
bytes('中国', encoding='utf-8')
- 字符串转为字节有两种方式:指明编码格式encoding=‘utf-8’,或者是用encode方法;
- 只有基本的ASCII可以使用字符表示,其他的字符,例如中文,则使用十六进制表示;
- 例如:‘你好’的字节码为:b’\xe4\xbd\xa0\xe5\xa5\xbd’,每个汉字是3个字节组成;
4.bytes操作
print(b'hello'.startswith(b'h'))
print(bytes.fromhex('abcdef'))
print(b'\xab\xcd\xef'.hex())
如果你依然在编程的世界里迷茫,
不知道自己的未来规划,
对python感兴趣,
这里推荐一下我的学习交流圈QQ群:895 797 751,
里面都是学习python的,
- bytes的方法与str类似,两者都是不可变类型;
- str输入输出都是str,bytes输入输出都是bytes;
5.bytearray的定义
b = bytearray()
bytearray('hello', encoding='utf-8') 返回 bytearray(b'hello')
6.bytearray操作
- 由于bytearray可变,其操作类似于列表,也有增删改查等方法;
- 使用类似与:b.insert();
7.编码与解码
- 编码:使用encode方法,返回字节序列bytes;
str.encode(encoding='utf-8', errors='strict') -> bytes
bytes.decode(encoding="utf-8", errors="strict")-> str
bytearray.decode(encoding="utf-8", errors="strict")-> str
8.可迭代对象的切片操作
- 可以通过for循环遍历对象中的元素,就是可迭代对象;
- 判断一个对象是可迭代对象,首先导入collections模块下的Iterable类型,然后通过isinstance返回boolean值,可迭代返回True,不可迭代返回False;
from collections import Iterable
isinstance('abc', Iterable)
- 可迭代对象的切片:类似与数学区间的概念,左边闭区间,右边开区间,且左边一定要小于右边;
print('abcdefg'[1:4]) 返回:bcd
print([1,2,3,4,5][1:3]) 返回 [2, 3]
print('abcdefg'[1:6:2]) 返回 bdf
如果你依然在编程的世界里迷茫,
不知道自己的未来规划,
对python感兴趣,
这里推荐一下我的学习交流圈QQ群:895 797 751,
里面都是学习python的,