在Python 2中解码十六进制字符的字符串
我有一个十六进制字符串,我想把它转换成utf8格式,以便插入到mysql数据库中。(我的数据库是utf8编码)
hex_string = 'kitap ara\xfet\xfdrmas\xfd'
...
result = 'kitap araştırması'
我该怎么做呢?
5 个回答
1
试试这个
hex_string.decode("cp1254").encode("utf-8")
(cp1254
或 iso-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'