Python里 int 和 bytes互转的方法

Posted caimouse

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python里 int 和 bytes互转的方法相关的知识,希望对你有一定的参考价值。

Python里 int 和 bytes互转的方法

在Python3之前,一般是使用下面的方法:
>>> import struct
>>> struct.pack("B", 2)
\'\\x02\'
>>> struct.pack(">H", 2)
\'\\x00\\x02\'
>>> struct.pack("<H", 2)
\'\\x02\\x00\'

也就是使用struct.pack方法,它实现了从int到bytes的转换。

在Python3里,也可以使用bytes转换0到255的整数,如下:
>>> bytes([2])
b\'\\x02`

这时候不要写成:bytes(3),这样导致下面的结果:
>>> bytes(3)
b\'\\x00\\x00\\x00\'

从Python 3.1起,就可以使用int.to_bytes()来转换整数到字节数组:
>>> (258).to_bytes(2, byteorder="little")
b\'\\x02\\x01\'
>>> (258).to_bytes(2, byteorder="big")
b\'\\x01\\x02\'
>>> (258).to_bytes(4, byteorder="little", signed=True)
b\'\\x02\\x01\\x00\\x00\'
>>>

以上是关于Python里 int 和 bytes互转的方法的主要内容,如果未能解决你的问题,请参考以下文章

Java File ,byte[] , 二进制字符串之间互转

在 Linux 下将 PNG 和 JPG 批量互转的四种方法

JAVA里16进制和字节数组互转

后缀表达式与中缀表达式互转的理论知识

Java语言Int与byte[]互转详解分析

⭐C/C++の深入浅出⭐int数与多枚举值互转