博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python:以16进制查看文件
阅读量:6482 次
发布时间:2019-06-23

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

hot3.png

设定以utf-8无BOM格式保存的文件foo.txt的内容如下:

abc你好

现在我们以byte为单位读取文件内容,并显示每个byte的16进制和10进制表示。

if __name__ == '__main__':    f=open('foo.txt' ,'rb')    f.seek(0,0)    while True:        byte = f.read(1)        if byte == '':            break        else:            hexstr =  "%s" % byte.encode('hex')            decnum = int(hexstr, 16)        print byte, hexstr, decnum    f.close()    print 'finish'

很简单,我们以为rb模式打开文件。每次读取时使用read(1),也就是取1个字节的数据,取得的数据作为str返回,若没有数据可取了,则返回空字符串''。byte是一个只有一个长度为1的字符串,hexstr是byte的16进制表示,内容的int函数将16进制表示的字符串hexstr转换为10进制整数decnum。

以下是运行结果:

a 61 97b 62 98c 63 99� e4 228� bd 189� a0 160� e5 229� a5 165� bd 189finish

转载于:https://my.oschina.net/letiantian/blog/187298

你可能感兴趣的文章
Vitamio中文API文档(4)—— VitamioInstaller
查看>>
yii框架常用url地址
查看>>
python3.4学习笔记(十六) windows下面安装easy_install和pip教程
查看>>
MyGUI 解析
查看>>
Linux中的ls命令详细使用
查看>>
graph-tool文档(一)- 快速开始使用Graph-tool - 2.属性映射、图的IO和Price网络
查看>>
GraphicsLab Project之辉光(Glare,Glow)效果 【转】
查看>>
Linux Curl命令
查看>>
-27979 LoadRunner 错误27979 找不到请求表单 Action.c(73): Error -27979: Requested form not found...
查看>>
[LeetCode] Minimum Depth of Binary Tree
查看>>
,net运行框架
查看>>
Java 中 Emoji 的正则表达式
查看>>
Mixin Network第一届开发者大赛作品介绍- dodice, diceos和Fox.one luckycoin
查看>>
安卓Glide(4.7.1)使用笔记 01 - 引入项目
查看>>
中金易云:为出版社找到下一本《解忧杂货店》
查看>>
Flex布局
查看>>
Material Design之 AppbarLayout 开发实践总结
查看>>
Flutter之MaterialApp使用详解
查看>>
DataBinding最全使用说明
查看>>
原生Js交互之DSBridge
查看>>