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

时间:2015-09-14 13:54:08

标签: python string hex

我正在尝试在Python上将字符串转换为十六进制,但我做错了。

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

  

“60b6e02de9a758dbf43c0756f59e1d6558b46b462865a3b66d7922e8a2962175”

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

  

“60c2b6c3a02dc3a9c2a758c39bc3b43c0756c3b5c5be1d6558c2b46b462865c2a3c2b66d7922c3a8c2a2e280932175”。

有问题的字符串是:

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

使用的Python脚本:

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

1 个答案:

答案 0 :(得分:5)

正如Yann Vernier所说,the webpage似乎是编码的 在hexlifying之前的cp1252:

import binascii

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

产量

60b6e02de9a758dbf43c56f59e6558b46b462865a3b66d7922e8a2962175