python 将负整数转换为字节(singed=True),但转换回来,它变成正数

标签 python byte signed

number = -127
array = number.to_bytes( 1 , byteorder='big' , signed=True )

只转换为单个字节

print( array[0] )

number_positive = 254
array = array + number_positive.to_bytes( 1 , byteorder='big' , signed=False )

那我应该怎么分别打印-127和254

如果我只使用 array[0] 和 array[1] 答案将是两个肯定的

非常感谢任何帮助 提前谢谢你

最佳答案

您应该使用 int.from_bytes() 方法将字节转换回整数:

print(int.from_bytes(array, byteorder='big', signed=True))

关于python 将负整数转换为字节(singed=True),但转换回来,它变成正数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52022443/

相关文章:

C++ 如何从文件创建 byte[] 数组(我不是说逐字节读取文件)?

c - 在c中每次读取文件多个字节

c - 如何使用宏检测签名?

python - 如何检查 python 网络接口(interface)上的数据传输?

python - 将抓取的文本保存到不同的txt文件中

C# 到 VB.net 字节转换

c - C 中的无符号和有符号除法

java - 对于 Java 中的按位运算,我是否需要关心 Java 中的大多数数字类型是否已签名?

python - list.pop 线程在 python 中是安全的

python - 将 `http_conn_id` 传递给 SlackWebhookOperator 时出现问题