查看“Python中二进制文件的读取”的源代码
←
Python中二进制文件的读取
跳到导航
跳到搜索
因为以下原因,您没有权限编辑本页:
您请求的操作仅限属于该用户组的用户执行:
用户
您可以查看和复制此页面的源代码。
*open一个二进制文件 f=open('IFS_ImageZW/2021-08-18_17-10-52.dat', "rb") *读取的时候是以字节为单位的 f.seek(6) #跳过几个字节 byte=f.read(1) #读入一个字节 *读入后的byte为bytes类型,如何和其它类型相互转化 a=b'\xbb' #可以看到这里把4个二进制位装换为一个16进制的数 str=a.hex() #这里是把两个16进制位直接输出为字符串 num=struct.unpack('B',a)[0] #这是把一个byte装换为其二进制的原始数,但是是以10进制的形式出现 *struct.unpack的用法比较丰富,[https://cloud.tencent.com/developer/article/1406350] :*可以将不同的字节装换为不同的格式 :*多字节数要注意高低位[[大小端]]的区别,以及原码,补码,反码的概念[https://www.jianshu.com/p/a9613643738b] :* 字节码 转 数字 >>> struct.unpack('B', b'\xff') (255,) # 单字节 >>> struct.unpack('>i', b'\x00\x00\x00\xff') (255,) # 4字节,大端模式 >>> struct.unpack('<i', b'\x00\x00\x00\xff') (-16777216,) # 4字节,小端模式 :* 手动 转换字节码 -> 字符串 >>> B = b'\xe9' >>> S = B.hex() >>> S # 值 'e9' >>> int(S,16) # 值 233, 字符串(16进制格式)-> 数字(10进制)
返回至“
Python中二进制文件的读取
”。
导航菜单
个人工具
登录
命名空间
页面
讨论
大陆简体
已展开
已折叠
查看
阅读
查看源代码
查看历史
更多
已展开
已折叠
搜索
导航
首页
社群首页
最近更改
随机页面
帮助
工具
链入页面
相关更改
特殊页面
页面信息