【问题标题】:Understanding characters in a binary file理解二进制文件中的字符
【发布时间】:2018-11-11 15:41:24
【问题描述】:

我正在读取一个用 16 位(小端和签名)编写的二进制文件。 我成功读取了文件并从字节到整数的转换中获得了良好的值。但是有些字符我看不懂,所以希望有人能解释一下:)

  • b'\xff\xff' 给我 -1 这很好,我知道 \x 表示十六进制字符转义。
  • b'\x00\x00' 给出 0,逻辑。
  • b'v\x1d' 给出 7542,这是一个很好的值(我知道是因为我知道我应该得到的值就是这个),但我不明白 'v' 的含义.它的意义是什么?我在网上找到了 ASCII - 二进制字符表,其中 'v' 是 01110110。如果我们认为 'v' 和 '1d' 的这个值是 00011101',那么我们有 01110110 00011101 不是 7542 而是 30237,所以'v' 在这里是错误的......
  • b'K\x1d' 给出 7499。这里也一样,值不错,但我不明白 'K'。

所以,如果有人可以向我解释“v”和“K”的含义,那就太好了!

谢谢。

【问题讨论】:

    标签: binary hex byte bits


    【解决方案1】:

    您对 K 和 v 的猜测是对的一半:因为它是 little endian,所以您的值将首先具有最低有效字节:

    • “v”是十六进制的76,所以十六进制的v\x1d = 1D76 = 7542
    • “K”是十六进制的4B,所以十六进制的K\x1d = 1D4B = 7499

    【讨论】:

    • 非常感谢 onestep.ua!
    猜你喜欢
    • 2014-01-19
    • 2013-06-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-02-28
    • 2016-08-30
    相关资源
    最近更新 更多