# python3小白课:字节串 本节课所介绍的字节串(bytes)类型比较抽象一点,如果你无法理解掌握,可以先跳过,以后可以结合一些网上的资料再次学习。 这是python3新增的类型,byte表示字节,加个复数形式就当做串了。跟字符串类似,也是一串的内容,但是是以二进制来存储的。二进制可以用于网络传输数据,也可以存储各种二进制文件,如图片、音乐、视频、exe应用程序等。 字符串和字节串之间也可以相互转换,即把字符串弄成二进制表示了,后续更利于传输或者针对里面的内容更好的进行文本加密或解密,或编码,在这块更加方便一些。 有关字节串我们就不讲那么详细了,感兴趣的同学可以自行百度下相关知识,我们来看点简单的例子: ```python # coding:utf-8 # 将字符串转为bytes类型,用utf8编码,不指定默认也是这个 a = b'Hello' # 这种方式只能支持仅含ascii字符的字符串,含有中文会报错 print(a) # 后面这两种方式结果一致,等效,爱用哪个用哪个 a = bytes("Hello 小白", encoding='utf-8') print(a) a = "Hello 小白".encode('utf-8') print(a) # 将字节串解码回字符串,用utf8编码,不指定默认也是这个 b = a.decode("utf-8") print(b) # 也可以这样解码,还是爱用哪个用哪个 b = bytes.decode(a, encoding="utf-8") print(b) ``` 可以注意到字节串打印输出的时候前面有一个b开头修饰,并且二进制内容在遇到非ascii字符时可能会用十六进制表示法来表示并打印出来。 ### 单词释义 | 单词 | 释义 | | -------- | ------------------------------------------------- | | bytes | 字节的复数形式,在python中翻译为字节串型 | | encoding | 编码,encode的ing形式,encode为编码这个单词的原型 | | decode | 解码 |