【问题标题】:Convert Integer into Bytestring - Python将整数转换为字节串 - Python
【发布时间】:2021-02-08 09:04:13
【问题描述】:

我想将一个整数(例如 2900)转换为字节串 b'\x0b\x54'。当我尝试时

variable = 2900
print(hex(variable))
print(variable.to_bytes(2, 'little'))

我收到以下信息:

0xb54
b'T\x0b'

【问题讨论】:

  • 好像你想要'big' 而不是'little'
  • b'\x0b\x54'
  • 因为0x54T 的ascii 代码,而字节串将元素显示为字符时,这样做很简单。

标签: python integer byte


【解决方案1】:
v = 2900
v.to_bytes(2, 'big')

给予

b'\x0bT'

相同
b'\x0b\x54'

0x54T 的ascii 码,所以字符'\x54' 与字符'T' 相同。

【讨论】:

    【解决方案2】:

    您可以为此使用struct 模块:

    import struct
    struct.pack('<h', 2900)
    

    将返回b'T\x0b'
    或:

    struct.pack('>h', 2900)
    

    获取b'\x0bT'

    【讨论】:

      猜你喜欢
      • 2012-09-01
      • 1970-01-01
      • 1970-01-01
      • 2014-10-31
      • 1970-01-01
      • 2013-02-18
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多