美文网首页python基础
内置数据结构-bytes

内置数据结构-bytes

作者: loveroot | 来源:发表于2017-01-08 15:25 被阅读35次

    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')  
    

    相关文章

      网友评论

        本文标题:内置数据结构-bytes

        本文链接:https://www.haomeiwen.com/subject/kqiqbttx.html