栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

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

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

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'x00x00x00x16'
b_2= b'x16x00x00x00'

代码示例:

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(' 

结果:

b'x1fx85xab?'
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1001516.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号