python - 在 Python 3 中将单个字节打印为十六进制
问题描述
我用 Python3 打开一个二进制文件,并希望以十六进制逐字节打印。但是,所有在线资源仅提及以十六进制打印“字节数组”。
请告诉我如何只打印 1 个单字节,谢谢。
#!/usr/bin/env python3
if __name__ == "__main__":
with open("./datasets/data.bin", 'rb') as file:
byte = file.read(1)
while byte:
print(byte) # how to print hex instead of ascii?
byte = file.read(1)
解决方案
试试这个:
print(hex(byte[0]))
推荐阅读
- r - 如何将日期和时间从 UTC 转换为 R 中的本地时间?
- c# - 客户端发送证书但 GetClientCertificate 始终接收为 null
- google-chrome - Google 表格调试无休止的计算和缓慢的加载时间(Chrome 开发工具)
- javascript - 在 Uglify TypeError 之后:无法读取未定义的属性“种类”
- javascript - 如何在 JavaScript 中编写 Python 嵌套的“for”循环
- python - 如何在每个新行中打印两个列表?
- flutter - 在颤振中使用日期选择器设置开始和结束日期
- freepascal - 对象帕斯卡。将文本文件读入 WideChar 变量
- angular - 在 Angular 中添加 @uirouter/angular-hybrid 时出错
- javascript - React Native - 在接收本地推送通知时清除以前的推送通知