【问题标题】:Convert back from int to byte从int转换回字节
【发布时间】:2019-11-24 22:55:48
【问题描述】:

我将如何为以下做相反的事情;我将字节转换为整数,但现在我需要返回到原始字节值。

 bytevalues = int.from_bytes(bytevalues, byteorder='big')

【问题讨论】:

  • 内置的bytes 能满足你的要求吗?
  • 在使用 int.to_bytes() 时出现溢出错误:int 太大而无法转换。不知道我做错了什么。
  • 您能否在问题中添加示例输入并期望输出?
  • give b'\xd4\x1fe\xf1\x85\xe6\x04\x12|\xfd\x8dw\x99/\x01\xd0' 我想转换为 int 应该是 28195936396781345794377381491266355856后来我想回到原来的字节值。
  • int 实例有一个方法 to_bytes 接受长度和字节顺序,

标签: python type-conversion int byte


【解决方案1】:

您可以使用int to_bytes method 完成此操作。这是一个例子:

value = int.from_bytes(bytevalues, byteorder='big') 
new_bytevalues = value.to_bytes(length=len(bytevalues), byteorder='big') 
print(new_bytevalues == bytevalues) # prints True

to_bytes 中,我们必须将长度定义为至少是原始bytes 对象的大小。如果不是,则会导致OverflowError。它可以大于原始bytes 对象的长度,在这种情况下,它只会用零填充结果。

【讨论】:

    猜你喜欢
    • 2011-04-08
    • 2018-09-17
    • 2012-03-23
    • 2016-03-04
    • 2016-02-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多