在Python 2中解码十六进制字符的字符串

6 投票
5 回答
32670 浏览
提问于 2025-04-16 00:00

我有一个十六进制字符串,我想把它转换成utf8格式,以便插入到mysql数据库中。(我的数据库是utf8编码)

hex_string = 'kitap ara\xfet\xfdrmas\xfd'
...
result = 'kitap araştırması'

我该怎么做呢?

5 个回答

1

试试这个

hex_string.decode("cp1254").encode("utf-8")

(cp1254iso-8859-9 是土耳其的编码方式,前者在Windows系统上比较常见,但在Python中,这两种编码效果是一样的)

6

试试这个(Python 3.x):

import codecs
codecs.decode("707974686f6e2d666f72756d2e696f", "hex").decode('utf-8')

来自 这里

5

假设我们使用的是Python 2.6版本,

>>> print('kitap ara\xfet\xfdrmas\xfd'.decode('iso-8859-9'))
kitap araştırması
>>> 'kitap ara\xfet\xfdrmas\xfd'.decode('iso-8859-9').encode('utf-8')
'kitap ara\xc5\x9ft\xc4\xb1rmas\xc4\xb1'

撰写回答