Python编码问题

Python编码问题,python,encoding,binary,decoding,Python,Encoding,Binary,Decoding,我有我想要解码的数据,在Windows-1252中,基本上我把代码发送到一个套接字,然后它把它发送回来,我必须解码消息,然后使用IEEE-754从中得到一个特定的值,但我似乎能弄明白所有这些编码的东西。这是我的密码 def printKinds (): test = "x40\x39\x19\x99\x99\x99\x99\x9A" print (byt1Hex(test)) test = byt1Hex(test).replace(' ', '') struc

我有我想要解码的数据,在Windows-1252中,基本上我把代码发送到一个套接字,然后它把它发送回来,我必须解码消息,然后使用IEEE-754从中得到一个特定的值,但我似乎能弄明白所有这些编码的东西。这是我的密码

def printKinds ():
    test = "x40\x39\x19\x99\x99\x99\x99\x9A"

    print (byt1Hex(test))
    test = byt1Hex(test).replace(' ', '')
    struct.unpack('<d', binascii.unhexlify(test))
    print (test)
printKinds()

def byt1Hex( bytStr ):
    return ' '.join( [ "%02X" % ord( x ) for x in bytStr ] )
我希望得到这个

40 39 19 99 99 99 99 9A
但实际上我得到了这个

78 34 30 39 19 99 99 99 99 9A
你有:

test = "x40\x39\x19\x99\x99\x99\x99\x9A"
你需要:

test = "\x40\x39\x19\x99\x99\x99\x99\x9A"
你有:

test = "x40\x39\x19\x99\x99\x99\x99\x9A"
你需要:

test = "\x40\x39\x19\x99\x99\x99\x99\x9A"
你有:

test = "x40\x39\x19\x99\x99\x99\x99\x9A"
你需要:

test = "\x40\x39\x19\x99\x99\x99\x99\x9A"
你有:

test = "x40\x39\x19\x99\x99\x99\x99\x9A"
你需要:

test = "\x40\x39\x19\x99\x99\x99\x99\x9A"
通过网络发送、接收字节。无需对其进行加密/解密;除非协议要求(你应该在问题中提及协议)

通过网络发送、接收字节。无需对其进行加密/解密;除非协议要求(你应该在问题中提及协议)

通过网络发送、接收字节。无需对其进行加密/解密;除非协议要求(你应该在问题中提及协议)




通过网络发送、接收字节。无需对其进行加密/解密;除非协议需要它(您应该在问题中提及协议)。

提供一些我们可以实际运行的代码。向我们展示byt1Hex函数。什么不起作用?预期产量是多少?实际产量是多少?
byt1Hex
做什么?将cp1252编码文本解释为IEEE-754双值几乎没有意义:
struct.unpack(“!d”,“abcdefgh.”encode('cp1252'))
为什么要将bytestring转换为hexstring,我不确定我对这些东西是不是很熟悉,基本上我的过程是把数据解码,然后用IEEE-754转换,提供一些我们可以实际运行的代码。向我们展示byt1Hex函数。什么不起作用?预期产量是多少?实际产量是多少?
byt1Hex
做什么?将cp1252编码文本解释为IEEE-754双值几乎没有意义:
struct.unpack(“!d”,“abcdefgh.”encode('cp1252'))
为什么要将bytestring转换为hexstring,我不确定我对这些东西是不是很熟悉,基本上我的过程是把数据解码,然后用IEEE-754转换,提供一些我们可以实际运行的代码。向我们展示byt1Hex函数。什么不起作用?预期产量是多少?实际产量是多少?
byt1Hex
做什么?将cp1252编码文本解释为IEEE-754双值几乎没有意义:
struct.unpack(“!d”,“abcdefgh.”encode('cp1252'))
为什么要将bytestring转换为hexstring,我不确定我对这些东西是不是很熟悉,基本上我的过程是把数据解码,然后用IEEE-754转换,提供一些我们可以实际运行的代码。向我们展示byt1Hex函数。什么不起作用?预期产量是多少?实际产量是多少?
byt1Hex
做什么?将cp1252编码文本解释为IEEE-754双值几乎没有意义:
struct.unpack(“!d”,“abcdefgh.”encode('cp1252'))
为什么要将bytestring转换为hexstring,只是立即转换回来?我不确定我对这种东西是新手,基本上我的过程是将数据解码,然后使用IEEE-754进行转换,但我从主机上获得数据“\x40\x39\x19\x99\x99\x99\x99\x9A”,看起来你改变了它?@BSD\ux:这是一样的:
b“@”==b”\x40
(如果你在Python2上,那么你将看不到字节文字的前缀)嗯,我不确定你怎么知道?@BSD:你不确定什么?我能说什么?我不确定我是十进制还是二进制哈哈,这就是我问你的原因,但我得到了数据“\x40\x39\x19\x99\x99\x99\x99\x9A”从主机上看,它看起来像是您更改了它?@BSD\ux:这是一样的:
b“@”==b“\x40”
(如果您使用的是Python 2,则不会看到字节文本的前缀
b
)嗯,我不确定你怎么能说?@BSD:你不确定什么?我能说什么?我不确定我是十进制还是二进制哈哈,这就是为什么我问你的原因,但我从主机上得到数据“\x40\x39\x19\x99\x99\x99\x99\x9A”,看起来你改变了它?@BSD:这是一样的:
b“@==b”\x40
(如果你在Python2上,那么你将看不到字节文字的前缀)嗯,我不确定你怎么知道?@BSD:你不确定什么?我能说什么?我不确定我是十进制还是二进制哈哈,这就是我问你的原因,但我得到了数据“\x40\x39\x19\x99\x99\x99\x99\x9A”从主机上看,它看起来像是你改变了它?@BSD:这是一样的:
b“@”==b“\x40”
(如果你在Python 2上,那么你就看不到
b
字节文本的前缀)嗯,我不确定你怎么能说出来?@BSD:你不确定什么?我能说什么?我不确定我是十进制还是二进制哈哈,这就是我问你的原因