无法将字符串转换为十六进制

Jos*_*rre 1 python string hex

我试图在Python上将字符串转换为十六进制但我做错了.

在这个网站上:http://string-functions.com/string-hex.aspx我得到了以下转换后的代码

"60b6e02de9a758dbf43c0756f59e1d6558b46b462865a3b66d7922e8a2962175"

这是有效的,但在我的Python脚本上我得到了

"60c2b6c3a02dc3a9c2a758c39bc3b43c0756c3b5c5be1d6558c2b46b462865c2a3c2b66d7922c3a8c2a2e280932175".

有问题的字符串是:

`¶à-é§XÛô<VõžeX´kF(e£¶my"袖!u
Run Code Online (Sandbox Code Playgroud)

使用的Python脚本:

import binascii
x = '`¶à-é§XÛô<VõžeX´kF(e£¶my"袖!u'
a = x.encode('utf-8')
hex_bytes = binascii.hexlify(a)
print(hex_bytes)
Run Code Online (Sandbox Code Playgroud)

unu*_*tbu 5

正如Yann Vernier建议的那样,网页似乎是在使用cp1252进行编码之前进行六角化:

import binascii

x = u'`¶à-é§XÛô<VõžeX´kF(e£¶my"袖!u'
hex_bytes = binascii.hexlify(x.encode('cp1252')) 
print(hex_bytes)
Run Code Online (Sandbox Code Playgroud)

产量

60b6e02de9a758dbf43c56f59e6558b46b462865a3b66d7922e8a2962175
Run Code Online (Sandbox Code Playgroud)