python十六进制_python:以16进制查看文件

设定以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 97

b 62 98

c 63 99

� e4 228

� bd 189

� a0 160

� e5 229

� a5 165

� bd 189

finish

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值