理解二进制文件中的字符
Understanding characters in a binary file
我正在读取一个用 16 位(小端字节序和签名)编写的二进制文件。
我成功地读取了文件并从字节到整数的转换中获得了好的值。但是有些字符我不明白,所以我希望有人能给我解释一下:)
- b'\xff\xff' 给我 -1 这很好,我知道 \x 表示十六进制字符转义。
- b'\x00\x00' 给出 0,逻辑。
- b'v\x1d'给出7542,这个值不错(我知道是因为我知道我应该得到的值就是这个),但是我不明白的意思'v'。它的意义是什么?我在网上找到了 ASCII - 二进制字符 Table,其中 'v' 是 01110110。如果我们将 'v' 和 '1d' 的这个值视为 00011101',那么我们有 01110110 00011101这不是 7542 而是 30237,所以这里的 'v' 是错误的...
- b'K\x1d' 给出7499。同样在这里,价值很好但我不明白'K'。
因此,如果有人能向我解释 'v' 和 'K' 的含义,那就太好了!
谢谢。
您对 K 和 v 的猜测只对了一半:因为它是 little endian,您的值将首先具有最低有效字节:
- "v" 在十六进制中是
76
,所以 v\x1d
= 1D76
在十六进制中 = 7542
- "K" 是
4B
十六进制,所以 K\x1d
= 1D4B
十六进制 = 7499
我正在读取一个用 16 位(小端字节序和签名)编写的二进制文件。 我成功地读取了文件并从字节到整数的转换中获得了好的值。但是有些字符我不明白,所以我希望有人能给我解释一下:)
- b'\xff\xff' 给我 -1 这很好,我知道 \x 表示十六进制字符转义。
- b'\x00\x00' 给出 0,逻辑。
- b'v\x1d'给出7542,这个值不错(我知道是因为我知道我应该得到的值就是这个),但是我不明白的意思'v'。它的意义是什么?我在网上找到了 ASCII - 二进制字符 Table,其中 'v' 是 01110110。如果我们将 'v' 和 '1d' 的这个值视为 00011101',那么我们有 01110110 00011101这不是 7542 而是 30237,所以这里的 'v' 是错误的...
- b'K\x1d' 给出7499。同样在这里,价值很好但我不明白'K'。
因此,如果有人能向我解释 'v' 和 'K' 的含义,那就太好了!
谢谢。
您对 K 和 v 的猜测只对了一半:因为它是 little endian,您的值将首先具有最低有效字节:
- "v" 在十六进制中是
76
,所以v\x1d
=1D76
在十六进制中 =7542
- "K" 是
4B
十六进制,所以K\x1d
=1D4B
十六进制 =7499