首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >从十六进制编码的ASCII字符串转换为纯ASCII?

从十六进制编码的ASCII字符串转换为纯ASCII?
EN

Stack Overflow用户
提问于 2012-03-10 05:47:30
回答 7查看 543.7K关注 0票数 177

如何在Python中将十六进制转换为纯ASCII?

请注意,例如,我希望将"0x7061756c“转换为"paul”。

EN

回答 7

Stack Overflow用户

回答已采纳

发布于 2012-03-10 06:03:10

稍微简单一点的解决方案:

代码语言:javascript
复制
>>> "7061756c".decode("hex")
'paul'
票数 247
EN

Stack Overflow用户

发布于 2014-12-17 14:22:26

无需导入任何库:

代码语言:javascript
复制
>>> bytearray.fromhex("7061756c").decode()
'paul'
票数 145
EN

Stack Overflow用户

发布于 2012-03-10 06:01:06

代码语言:javascript
复制
>>> txt = '7061756c'
>>> ''.join([chr(int(''.join(c), 16)) for c in zip(txt[0::2],txt[1::2])])
'paul'                                                                          

我只是在找乐子,但最重要的是:

代码语言:javascript
复制
>>> int('0a',16)         # parse hex
10
>>> ''.join(['a', 'b'])  # join characters
'ab'
>>> 'abcd'[0::2]         # alternates
'ac'
>>> zip('abc', '123')    # pair up
[('a', '1'), ('b', '2'), ('c', '3')]        
>>> chr(32)              # ascii to character
' '

现在看看binascii ..。

代码语言:javascript
复制
>>> print binascii.unhexlify('7061756c')
paul

很酷(我不知道为什么其他人想让你跳过圈套,然后他们才会帮助你)。

票数 50
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9641440

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档