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/