python 把int类型转bytes以及把bytes 转int 类型(使用方法to_bytes ,from_byte, struct)

雨点打透心脏的1/2处 2022-10-10 12:46 354阅读 0赞

把int类型转bytes

方法1 使用方法to_bytes

to_bytes 方法里面有3个参数 ,

第一个数是指定要转换的bytes占多少个字节

第二个是byteorder 是指定大端或者是小端 的

第三个是signed参数表示这个bytes对应的是有符号的数,或者无符号的int,这个是boolean值可以不写

使用to_bytes把1 转化了占2个字节的bytes ,并且指定大端

  1. num_a = (1).to_bytes(2, "big")
  2. # 或者
  3. # num_a = (168).to_bytes(2, byteorder="big")
  4. print(num_a)

打印结果

20210628143445219.png

使用to_bytes把1 转化了占2个字节的bytes ,并且指定小端

  1. num_a = (1).to_bytes(2, "little")
  2. # 或者
  3. # num_a = (168).to_bytes(2, byteorder="little")
  4. print(num_a)

打印结果:

20210628143602108.png

使用struct

如果对struct 不了解可以点击查看struct

使用struct把1 转化了占2个字节的bytes ,并且指定大端

  1. import struct
  2. num_a = struct.pack(">h", 1)
  3. print(num_a)

打印结果

20210628143936984.png

使用struct把1 转化了占2个字节的bytes ,并且指定小端

  1. import struct
  2. num_a = struct.pack("<h", 1)
  3. print(num_a)

打印结果

20210628144019257.png

把 bytes 转 int类型

使用 from_bytes 和 unpack

  1. import struct
  2. print(int.from_bytes(b'\x00\x01', "big"))
  3. print(int.from_bytes(b'\x01\x00', "little"))
  4. print(struct.unpack(">h", b'\x00\x01')[0])
  5. print(struct.unpack("<h", b'\x01\x00')[0])

打印结果

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzMzMjEwMDQy_size_16_color_FFFFFF_t_70

发表评论

表情:
评论列表 (有 0 条评论,354人围观)

还没有评论,来说两句吧...

相关阅读