zoukankan      html  css  js  c++  java
  • 内置函数bytes()

    a=b'x00x9c@c'
    print a[3]#99,c的ascii码是99
    print a[1]#156 

    并且byte是无法修改的

    c[1]=155
    Traceback (most recent call last):
      File "<pyshell#6>", line 1, in <module>
        c[1] = 155
    TypeError: 'bytes' object does not support item assignment

    而函数bytes()就是将参数转化为byte的函数

    1当参数为数字时:

    >>> bytes(2)

    b'x00x00'

    >>> bytes(1)

    b'x00'

    2当参数为序列时,序列元素必须是0 <= x < 256,原因是一个字节占8位,8位二进制数的范围就是0到255之间。这序列的每个元素代表一个字节

    bs = bytes([0, 156, 64 , 99])

    print (bs)#b'x00x9c@c'

    #asc码为64的为@,99的为c

    3

    c=bytes("你好","utf-8")

    print (c)

    c=bytes("你好","gbk")

    print (c)

    #b'xe4xbdxa0xe5xa5xbd'

    #b'xc4xe3xbaxc3'

    4与bytes()很接近的是bytearray(),不同的是他返回的byte是可修改的

    >>> b = bytearray(10)

    >>> b

    bytearray(b'x00x00x00x00x00x00x00x00x00x00')

    >>> b[1] = 1 #可修改

    >>> b

    bytearray(b'x00x01x00x00x00x00x00x00x00x00')

     参考http://www.cnblogs.com/sesshoumaru/

  • 相关阅读:
    条件运算符 (?:)
    SVN地址修改
    dev -gridview隐藏子表标题
    继承与 Data Member(3)
    继承与 Data Member(2)
    继承与 Data Member(1)
    Data Member 的存取
    Data Member 的布局
    Data Member 的绑定
    对于 sizeof(class_name) 值的讨论(2)
  • 原文地址:https://www.cnblogs.com/saolv/p/9222132.html
Copyright © 2011-2022 走看看