gpt4 book ai didi

python - python\xhhK 中奇怪的十六进制表示

转载 作者:太空宇宙 更新时间:2023-11-04 05:57:42 25 4
gpt4 key购买 nike

今天我玩了一些 C 风格的编码变量,以便与必要的 C 程序轻松通信。我读了https://docs.python.org/2/library/struct.html我知道\x 开始 2 位十六进制表示,但对于一些数字我得到:

from struct import *
datum=239179
buf = pack(">Q", datum)
buf
'\x00\x00\x00\x00\x00\x03\xa6K'

\xa6K 是什么?\xa6 是有效形式。

解压这个变量完全没问题,所以它似乎是一种合法的十六进制方式,但为什么呢?对于一个类似的问题,一个 friend 写了一个go-program,它给了他相同的数字00 00 00 00 00 03 a6 4b 。现在,如果我们检查 K 的十六进制值,它是 4b。

tldr;为什么\xa6K 与\xa6\x4b 相同?

感谢您的帮助:)


感谢这个解决方案,我觉得有点傻:D

最佳答案

struct.pack 返回一个 str 对象(在 python3 中为 bytes)。字符串选择使用十六进制代码(例如 '\xa6')表示非打印字符。然而,对应于 '\x4b' 的字节是一个可打印字符,因此字符串使用它。

关于python - python\xhhK 中奇怪的十六进制表示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24188927/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com