博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python 整数转字节 char
阅读量:4493 次
发布时间:2019-06-08

本文共 692 字,大约阅读时间需要 2 分钟。

 

把10进制整数30,转换为字节

方法一

chr(30).encode()

结果

 

方法二

struct.pack('B', 30)

 结果

 

 

 

 

准确地讲,Python没有专门处理字节的数据类型。但由于str既是字符串,又可以表示字节,所以,字节数组=str。而在C语言中,我们可以很方便地用struct、union来处理字节,以及字节和int,float的转换。

在Python中,比方说要把一个32位无符号整数变成字节,也就是4个长度的str,你得配合位运算符这么写:

>>> n = 10240099>>> b1 = chr((n & 0xff000000) >> 24) >>> b2 = chr((n & 0xff0000) >> 16) >>> b3 = chr((n & 0xff00) >> 8) >>> b4 = chr(n & 0xff) >>> s = b1 + b2 + b3 + b4 >>> s '\x00\x9c@c'

非常麻烦。如果换成浮点数就无能为力了。

好在Python提供了一个struct模块来解决str和其他二进制数据类型的转换。

structpack函数把任意数据类型变成字符串:

>>> import struct>>> struct.pack('>I', 10240099) '\x00\x9c@c'

 

 

官网参考:https://docs.python.org/2/library/struct.html#format-characters

 

转载于:https://www.cnblogs.com/code1992/p/11284158.html

你可能感兴趣的文章
仿射变换
查看>>
【ASP.NET】复制单个文件同时到多个目录
查看>>
上机实验2.。实验报告
查看>>
Jquery Validate 相关参数及常用的自定义验证规则
查看>>
java8 base64使用
查看>>
使用eclipse学习java第二课
查看>>
Codeforces Round #469 (Div. 2)
查看>>
go简单模拟Redis数据库对应{key, value}的存取功能
查看>>
vue.js 弹层
查看>>
JavaScript:Number 对象
查看>>
事务同步多线程
查看>>
怎么去掉联系人、通话记录、拨号列表界面中的电话号码中间的空格?
查看>>
node.js常见的一些错误信息
查看>>
PG自动化测试
查看>>
MySQL启动出现The server quit without updating PID file错误解决办法
查看>>
什么是多租户
查看>>
jQuery的效果
查看>>
express node 框架介绍
查看>>
数据库读写分离及问题
查看>>
jquery then详解(三)
查看>>