python int与bytes如何相互转换
时间: 2023-12-24 11:02:22 浏览: 124
int类型和byte数组之间的转换
在Python中,可以使用 `int()` 和 `bytes()` 函数来实现 `int` 和 `bytes` 类型之间的相互转换。
将 `int` 转换为 `bytes`:
```python
num = 12345
byte_num = num.to_bytes((num.bit_length() + 7) // 8, 'big')
```
将 `bytes` 转换为 `int`:
```python
byte_num = b'\x00\x00\x30\x39'
num = int.from_bytes(byte_num, 'big')
```
其中,`to_bytes()` 函数将 `int` 类型转换为 `bytes` 类型,需要传入两个参数:转换后 `bytes` 的长度和字节顺序。在上面的例子中,`num.bit_length() + 7` 用于计算 `num` 转换为二进制后的位数,再除以 8 向上取整,得到 `byte_num` 的长度。参数 `'big'` 则表示高位在前,低位在后的字节顺序。
`from_bytes()` 函数将 `bytes` 类型转换为 `int` 类型,同样需要传入两个参数:要转换的 `bytes` 对象和字节顺序。在上面的例子中,`'big'` 表示高位在前,低位在后的字节顺序。
阅读全文