bytes在Python 3中迭代对象时,可以将个体bytes作为ints:
>>> [b for b in b'123']
[49, 50, 51]
Run Code Online (Sandbox Code Playgroud)
如何获得1长度的bytes对象?
以下是可能的,但对于读者来说不是很明显,并且很可能表现不好:
>>> [bytes([b]) for b in b'123']
[b'1', b'2', b'3']
Run Code Online (Sandbox Code Playgroud) 我试图在python 3.4中获取字节串的第一个字符,但是当我将其编入索引时,我得到一个int:
>>> my_bytes = b'just a byte string'
b'just a byte string'
>>> my_bytes[0]
106
>>> type(my_bytes[0])
<class 'int'>
Run Code Online (Sandbox Code Playgroud)
这对我来说似乎不直观,正如我期待的那样b'j'.
我发现我可以获得我期望的价值,但这对我来说感觉就像是一个黑客.
>>> my_bytes[0:1]
b'j'
Run Code Online (Sandbox Code Playgroud)
有人可以解释为什么会这样吗?