【问题标题】:Convert File to HEX String Python将文件转换为 HEX 字符串 Python
【发布时间】:2011-04-27 05:27:37
【问题描述】:

如何使用 Python 将文件转换为 HEX 字符串?我已经在谷歌上搜索了这个,但似乎找不到任何有用的东西。

【问题讨论】:

    标签: python string file hex


    【解决方案1】:
    import binascii
    filename = 'test.dat'
    with open(filename, 'rb') as f:
        content = f.read()
    print(binascii.hexlify(content))
    

    【讨论】:

    • 这个会转换png、jpg等图片格式的文件吗?
    • 是的,它以二进制格式打开任意类型的指定文件,该函数只是将二进制转换为十六进制格式。
    • hexdump 打印像“0000000 2123 7472 7070 616c 3179”这样的行,而上面的代码打印像“2321727470706c6179”这样的行。你看到字节了吗?他们被翻转了。 2123 打印为 2321。7472 与 7274 相同。为什么会这样?
    • @BTRNaidu:你的机器使用litte endian order:“这是十六进制转储的显示方式:因为转储程序无法知道它正在转储什么样的数据,它可以观察到的唯一方向是单调递增的地址. 然而, 人类读者, 谁知道他或她正在阅读一个 little-endian 系统的 hexdump ...读取字节序列 0Dh,0Ch,0Bh,0Ah 作为 32 位二进制值 168496141,或 0x0a0b0c0d 以十六进制表示。"
    • 在 Ubuntu 上,您可以通过运行 lscpu 检查机器的字节序。要获得 hexdump 输出以匹配上述代码的输出,请运行 hexdump -C /path/to/file
    猜你喜欢
    • 2014-09-23
    • 1970-01-01
    • 2016-08-28
    • 2021-08-22
    • 1970-01-01
    • 1970-01-01
    • 2016-06-04
    • 2020-11-13
    • 2019-07-16
    相关资源
    最近更新 更多