Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/321.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
为什么Python bytearray使用value>;=256_Python_Binary_Byte - Fatal编程技术网

为什么Python bytearray使用value>;=256

为什么Python bytearray使用value>;=256,python,binary,byte,Python,Binary,Byte,Python声明: bytearray类型是0=256范围内的可变整数序列。我存储一个最大值为:2^9-1=512-1=511的9位二进制数 ba = bytes([0b111111111]) print '%s' % (ba) 9位二进制数打印为十进制511: [511] 我不知道预期的行为是什么,但我假设最重要的位将被删除以给出一个8位的数字。您实际上并不是创建一个字节数组或字节对象,而是创建一个包含'[511]'的字符串。,因为Python 2中的bytes只是str的同义词。在Pyt

Python声明:

bytearray类型是0=256范围内的可变整数序列。我存储一个最大值为:
2^9-1=512-1=511的9位二进制数

ba = bytes([0b111111111])
print '%s' % (ba)
9位二进制数打印为十进制511:

[511]

我不知道预期的行为是什么,但我假设最重要的位将被删除以给出一个8位的数字。

您实际上并不是创建一个
字节数组或
字节对象,而是创建一个包含
'[511]'的字符串。
,因为Python 2中的
bytes
只是
str
的同义词。在Python 3中,您将得到一条错误消息:

ValueError: byte must be in range(0, 256)
以下代码在Python2或Python3中工作;注意,我传递的是一个8位的数字,所以它在范围内

ba = bytearray([0b11111111])
print(repr(ba))
输出

bytearray(b'\xff')
代码:

要解码:

a = int.from_bytes(byte, 'little')

您使用的是什么版本的python?示例中的代码在3.3中给出了一个
ValueError
。1@PatrickHaugh我想是2.x。由于
打印
statement@MooingRawr与OPs相关的文件适用于3.1Huh。。。。。。它首先为我链接到2.7我的apologys(可能看错了标签…),如果你在Python2中键入
help(bytes)
,它会显示
str
帮助页面。
a = int.from_bytes(byte, 'little')