Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/331.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中的字节操作_Python_Byte - Fatal编程技术网

Python中的字节操作

Python中的字节操作,python,byte,Python,Byte,我有一个整数。比方说 var = 83 #less than 0xff 我有一个字节。 假设我有字节b,我想计算 b-=var #b as an integer value , possibly by eval(b)? 然后我想把它转换回一个字节,我如何在python中做到这一点?如果我理解了这个问题,你可以: >>> chr(ord('x') - 83) '%' 其中,'x'是您的字节 如果您使用的是Python3.x >>> bytes([ord(

我有一个整数。比方说

var = 83 #less than 0xff
我有一个字节。 假设我有字节b,我想计算

 b-=var #b as an integer value , possibly by eval(b)?

然后我想把它转换回一个字节,我如何在python中做到这一点?

如果我理解了这个问题,你可以:

>>> chr(ord('x') - 83)
'%'
其中,
'x'
是您的字节

如果您使用的是Python3.x

>>> bytes([ord(b'x') - 83])
b'%'
ord(b'x')
b'x'[0]

另一个示例(结果字节不可打印,显示在
\x00
表格中):


@JJG您将字节存储在字符串或bytestring(Py3k)中,对吗?因此,如果结果是可打印的,它将以这种方式显示。我得到一个错误:ValueError:chr()arg不在范围(256)内。我不知道为什么会这样。我也在用Pytohn 2。7@JJG这是因为您使用的数字小于83,
chr
无法处理负数numbers@JJG您可以为负数添加256个换行符谢谢!我想是我干的。我做了+=256的环绕。
>>> chr(ord('\x53') - 83)
'\x00'