python数字越界教学(28python少儿编程之bytesbytearray)

字符串与bytes
  • 字符串是字符组成的有序序列,字符可以使用编码来理解
  • bytes是字节组成的有序的不可变序列
  • bytearray字节组成的有序的可变序列
  • bytes和bytearray唯一的区别就是是否可变 其他方法都一样

字符集的概念
  1. 计算机底层并不能保存字符,但程序总是需要保存各种字符的
  2. 计算机为每个字符编号,当程序要保存字符时,实际上保存的是该字符的编号
  3. 当程序读取字符时,读取的其实也是编号,接下来要去查“编号一字符对应表”(简称码表)才能得到实际的字符
  4. 美国人给英文字符、数字、标点符号等字符进行了编号,叫做ASCII 字符集
  5. 亚洲国家纷纷为本国文字进行编号,即制订本国的字符集,美国人又为世界上所有书面语言的字符进行了统一编号,这就是 Unicode 字符集,如UTF-8, UTF-16

编码与解码
  • 所以当不同的国家按照不同的编码规则来编码时,我们就需要编码

python数字越界教学(28python少儿编程之bytesbytearray)(1)

  • 计算机就用bytes来传递信息的,最终到展示页面的时候,我们都需要解码成字符串来识别真正的含义 所以选择正确的字符集才能显示正确的结果

bytes 定义
  • 常用的就两种
  1. 用字符串编码的方式 string.encode()
  2. 使用b前缀定义 不过这个有一个要求 只允许基本的ASCII使用字符形式 也就是数字,字母,标点符号,如果要用中文就不能用这种方法

python数字越界教学(28python少儿编程之bytesbytearray)(2)

  • 两种结果是一样的!

bytes操作
  • 和字符串类型类似,都是不可变类型,所以方法很多都一样的,只不过bytes的方法输入是bytes,输出也是bytes

python数字越界教学(28python少儿编程之bytesbytearray)(3)

  • 用法都差不多
  • 索引

python数字越界教学(28python少儿编程之bytesbytearray)(4)

  • [0]取的是a 输出的是该字节对应的数,是一个int类型 大家可以试试英文字母都是用什么数字表示的
  • bytearray 的用法跟bytes是一模一样的 我这边就不演示了

我是阿孝,这节课程结束,谢谢大家!

python数字越界教学(28python少儿编程之bytesbytearray)(5)

,

免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com

    分享
    投诉
    首页