Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/344.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/58.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
python中奇怪的十六进制表示法\xhk_Python_C_Hex - Fatal编程技术网

python中奇怪的十六进制表示法\xhk

python中奇怪的十六进制表示法\xhk,python,c,hex,Python,C,Hex,今天我玩了一点c风格的编码变量,以便于与必要的c程序进行通信。 我读 我知道\x启动2位十六进制表示,但对于一些数字,我得到: from struct import * datum=239179 buf = pack(">Q", datum) buf '\x00\x00\x00\x00\x00\x03\xa6K' 什么是\xa6K\xa6是有效的表单 解包这个变量工作得非常好,所以它似乎是十六进制的合法方法,但为什么呢?对于一个类似的问题,一个朋友写了一个围棋程序,给他相同的数字 00

今天我玩了一点c风格的编码变量,以便于与必要的c程序进行通信。 我读 我知道\x启动2位十六进制表示,但对于一些数字,我得到:

from struct import *
datum=239179
buf = pack(">Q", datum)
buf
'\x00\x00\x00\x00\x00\x03\xa6K'
什么是\xa6K\xa6是有效的表单

解包这个变量工作得非常好,所以它似乎是十六进制的合法方法,但为什么呢?对于一个类似的问题,一个朋友写了一个围棋程序,给他相同的数字 00 00 03 a6 4b。现在如果我们检查K的十六进制值,它是4b

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

谢谢你的帮助:)



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

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

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