当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python Int转Bytes用法及代码示例


一个 int 对象可用于以字节的格式表示相同的值。整数表示一个字节,存储为一个数组,其最高有效位 (MSB) 存储在数组的开头或结尾。

方法一:int.tobytes()

可以使用 int.to_bytes() 方法将 int 值转换为字节。该方法在 int 值上调用,Python 2(需要最低 Python3)不支持执行。

用法:int.to_bytes(length, byteorder)

参数



length - 数组的所需长度(以字节为单位)。

byteorder - 将 int 转换为字节的数组顺序。 byteorder 的值可以是 “little”,其中最高有效位存储在末尾,最低存储在开头,也可以是 big,其中 MSB 存储在开头,LSB 存储在末尾。

异常:

如果整数值长度不足以容纳在数组的长度中,则返回溢出错误。

以下程序说明了此方法在 Python 中的用法:

Python3


# declaring an integer value
integer_val = 5
  
# converting int to bytes with length 
# of the array as 2 and byter order as big
bytes_val = integer_val.to_bytes(2, 'big')
  
# printing integer in byte representation
print(bytes_val)
输出
b'\x00\x05'

Python3


# declaring an integer value
integer_val = 10
  
# converting int to bytes with length 
# of the array as 5 and byter order as 
# little
bytes_val = integer_val.to_bytes(5, 'little')
  
# printing integer in byte representation
print(bytes_val)
输出
b'\n\x00\x00\x00\x00'

方法二:整数转字符串,字符串转字节

这种方法在 Python 版本 2 和 3 中都兼容。这种方法不将数组的长度和字节顺序作为参数。

  • 以十进制格式表示的整数值可以首先使用 str() 函数转换为字符串,该函数将整数值作为参数转换为相应的字符串等价物。
  • 然后,通过为每个字符选择所需的表示形式,将这个字符串等价物转换为字节序列,即对字符串值进行编码。这是通过 str.encode() 方法完成的。

Python3


# declaring an integer value
int_val = 5
  
# converting to string
str_val = str(int_val)
  
# converting string to bytes
byte_val = str_val.encode()
print(byte_val)
输出
b'5'




相关用法


注:本文由纯净天空筛选整理自yashkumar0457大神的英文原创作品 How to Convert Int to Bytes in Python?。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。