Python中整数与浮点数转换为字节

Python中整数与浮点数分别转换为字节

整数->字节(int to bytes)

使用to_bytes函数。
*int.to_bytes(length, byteorder, , signed=False)

  • length是转换后的字节数
    自己规定大小,但如果取小了,就会报错
OverflowError: int too big to convert
  • byteorder确定用于表示整数的字节顺序
    如果 byteorder 是 “big” ,则最高有效字节位于字节数组的开头。如果 byteorder 是 “little” ,则最高有效字节位于字节数组的末尾。
    eg:
b = 22
b_1 = b.to_bytes(4,"big")
b_2 = b.to_bytes(4,"little")
print('b_1=',b_1)
print('b_2=',b_2)

结果是

b_1= b'\x00\x00\x00\x16'
b_2= b'\x16\x00\x00\x00'

代码示例:

a = 23
a_t = a.to_bytes(4,"little")
print(a_t)

浮点数->字节(float to bytes)

使用struct库里的pack函数。

struct.pack用于将Python的值根据格式符,转换为字符串(因为Python中没有字节(Byte)类型,可以把这里的字符串理解为字节流,或字节数组)。
其函数原型为:struct.pack(fmt, v1, v2, …),参数fmt是格式字符串,v1, v2, …表示要转换的python值。

h表示short,l表示long; 'hhl’表示后面有三个参数,依次是short,short,long类型。
c表示 char,bytes of length 1(长度的byte数组),i表示integer 整数;'ci’表示后面有两个个参数,依次是char,integer 类型

如下图:
请添加图片描述
请添加图片描述

参考链接:https://blog.csdn.net/u012842630/article/details/85726870

代码示例:

a = 1.34
a_t = struct.pack('<f',a)
print(a_t)

结果:

b'\x1f\x85\xab?'
  • 2
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

zkisltm

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值