3 回答
![?](http://img1.sycdn.imooc.com/5458464a00013eb602200220-100-100.jpg)
TA贡献2051条经验 获得超10个赞
bytes
bytearray
:
字节数组([源[,编码[,错误])
返回一个新的字节数组。字节数组类型是0<=x<256范围内的可变整数序列。它有大多数常见的可变序列方法(在可变序列类型中描述),以及字节类型所具有的大多数方法,参见Bytes和ByteArray方法。
可选源参数可用于以几种不同的方式初始化数组: 如果是字符串,则还必须提供编码参数(以及可选的错误)参数;byteArray()然后使用str.encode()将字符串转换为字节。
如果它是一个整数,数组将具有这个大小,并将被初始化为空字节。
如果它是一个符合缓冲区接口的对象,则对象的只读缓冲区将用于初始化字节数组。
如果它是可迭代的,则必须是0<=x<256范围内的整数可迭代,这些整数用作数组的初始内容。
如果没有参数,则创建大小为0的数组。
bytes
some_string.encode(encoding)
bytes(some_string, encoding)
编辑:bytes
encode
encode
unicode_string.encode(encoding)
byte_string.decode(encoding)
![?](http://img1.sycdn.imooc.com/545863c10001865402200220-100-100.jpg)
TA贡献1790条经验 获得超9个赞
my_str = "hello world"my_str_as_bytes = str.encode(my_str)type(my_str_as_bytes) # ensure it is byte representationmy_decoded_str = my_str_as_bytes.decode()type(my_decoded_str) # ensure it is string representation
![?](http://img1.sycdn.imooc.com/5458477f0001cabd02200220-100-100.jpg)
TA贡献1824条经验 获得超5个赞
encode
默认为 'utf-8'
b = mystring.encode()
"utf-8"
NULL
In [1]: %timeit -r 10 'abc'.encode('utf-8')The slowest run took 38.07 times longer than the fastest. This could mean that an intermediate result is being cached.10000000 loops, best of 10: 183 ns per loopIn [2]: %timeit -r 10 'abc'.encode()The slowest run took 27.34 times longer than the fastest. This could mean that an intermediate result is being cached.10000000 loops, best of 10: 137 ns per loop
encode()
>>> 'äöä'.encode()Traceback (most recent call last): File "<stdin>", line 1, in <module>UnicodeDecodeError: 'ascii' codec can't decode byte 0xc3 in position 0: ordinal not in range(128)
添加回答
举报