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

https://blog.csdn.net/qq_33210042/article/details/118303233?utm_medium=distribute.pc_relevant.none-task-blog-2defaultbaidujs_title~default-1.essearch_pc_relevant&spm=1001.2101.3001.4242.2




把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)

打印结果

使用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)

打印结果:

使用struct

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

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


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

打印结果

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


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

打印结果

把 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])

打印结果

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值