用python 2中的十六进制字符解码字符串

2024-05-16 09:13:38 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个十六进制字符串,我想把它转换成utf8来插入mysql。(我的数据库是utf8)

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

我该怎么做?


Tags: 字符串数据库stringmysqlresultutf8hexrmas
3条回答

试试看

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

cp1254iso-8859-9是土耳其语的代码页,前者是Windows平台上的常用名称,但在Python中,两者的工作效果都一样好)

假设Python2.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'

尝试(Python 3.x):

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

来自here

相关问题 更多 >