内置数据结构-bytes

python2中不区分str和bytes , bytes是从python3开始新添加的
bytes也有str类似的方法,支持切片, 不可变

字符串前面加上b来表示一个序列是bytes
In [60]: b=b'you can do it.'

In [61]: type(b)
Out[61]: bytes

In [62]: b.find(b'do')
Out[62]: 8

In [63]: b[0:4]
Out[63]: b'you '

str使用encode()转化成bytes, bytes使用decode()转成str
默认使用的是UTF-8的编码, 如果是其他编码,需要显示的传入编码

In [64]: b.decode()
Out[64]: 'you can do it.'

bytearray

bytearray()返回一个新字节数组。这个数组里的元素是可变的,并且每个元素的值范围: 0 <= x < 256。下面说明一下几种特别的使用方法:

  1. 如果source是一个字符串,那么必须给出endcoding是什么样编码的,以便转换为合适的字节保存。
  2. 如果source是一个整数,那么这个数组将初始化为空字节。
  3. 如果source是一个有缓冲区接口的对象,那么只读的接口初始到数组里。
  4. 如果source是一个迭代对象,那么这个迭代对象的元素都必须符合0 <= x < 256,以便可以初始化到数组里
#bytearray()函数  
  
a = bytearray('1234深圳', 'utf-8')  
bytearray(b'1234\xe6\xb7\xb1\xe5\x9c\xb3')  
  
b = bytearray()  
bytearray(b'')
  
c = [1,4,5,7,8]  
bytearray(b'\x01\x04\x05\x07\x08')  
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 内置函数Python解释器内置了许多功能和类型,总是可用的。他们是按字母顺序列在这里。 abs(x)返回一个数的绝...
    uangianlap阅读 1,273评论 0 0
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,010评论 19 139
  • 英文文档: class bytes([source[, encoding[, errors]]])Return a...
    十月狐狸阅读 2,723评论 0 0
  • 前一篇《论语解悟》学而 第十一、十二章 后一篇《论语解悟》学而 第十五、十六章 [原文] 有子曰:信近于义,言可复...
    为仁由己zj阅读 1,566评论 0 1
  • 感恩今天去菜市买菜时虽然下雨,但宝宝车上带了所有人的雨衣和伞,回来时还小了。感恩阿姨回来后尽快做好了午餐按时开饭了...
    顺路99阅读 64评论 0 0