- 字符串是字符组成的有序序列,字符可以使用编码来理解
- bytes是字节组成的有序的不可变序列
- bytearray字节组成的有序的可变序列
- bytes和bytearray唯一的区别就是是否可变 其他方法都一样
字符集的概念
- 计算机底层并不能保存字符,但程序总是需要保存各种字符的
- 计算机为每个字符编号,当程序要保存字符时,实际上保存的是该字符的编号
- 当程序读取字符时,读取的其实也是编号,接下来要去查“编号一字符对应表”(简称码表)才能得到实际的字符
- 美国人给英文字符、数字、标点符号等字符进行了编号,叫做ASCII 字符集
- 亚洲国家纷纷为本国文字进行编号,即制订本国的字符集,美国人又为世界上所有书面语言的字符进行了统一编号,这就是 Unicode 字符集,如UTF-8, UTF-16
编码与解码
- 所以当不同的国家按照不同的编码规则来编码时,我们就需要编码
- 计算机就用bytes来传递信息的,最终到展示页面的时候,我们都需要解码成字符串来识别真正的含义 所以选择正确的字符集才能显示正确的结果
bytes 定义
- 常用的就两种
- 用字符串编码的方式 string.encode()
- 使用b前缀定义 不过这个有一个要求 只允许基本的ASCII使用字符形式 也就是数字,字母,标点符号,如果要用中文就不能用这种方法
- 两种结果是一样的!
bytes操作
- 和字符串类型类似,都是不可变类型,所以方法很多都一样的,只不过bytes的方法输入是bytes,输出也是bytes
- 用法都差不多
- 索引
- [0]取的是a 输出的是该字节对应的数,是一个int类型 大家可以试试英文字母都是用什么数字表示的
- bytearray 的用法跟bytes是一模一样的 我这边就不演示了
我是阿孝,这节课程结束,谢谢大家!
,