首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >十六进制到二进制(每次2十六进制数字)- python

十六进制到二进制(每次2十六进制数字)- python
EN

Stack Overflow用户
提问于 2015-10-26 00:58:23
回答 2查看 74关注 0票数 1

我想取一个十六进制数,例如4e40b844800742db4f9b,并将其一次转换为十进制2位数。例如,从上面取4e,将其转换为十进制,取40,以此类推

我目前正在使用这个函数来获取一个十进制数的列表,并将它们转换为十六进制,从而产生上面的十六进制。

代码语言:javascript
复制
def decimal_to_hex(ilist):      
    return ''.join('{:02x}'.format(i) for i in ilist)

有什么好的、相似的方法吗?我能做到。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-10-26 01:21:04

代码语言:javascript
复制
In [13]: s = '4e40b844800742db4f9b'

In [14]: [int(s[n:n+2], 16) for n in xrange(0, len(s), 2)]
Out[14]: [78, 64, 184, 68, 128, 7, 66, 219, 79, 155]
票数 0
EN

Stack Overflow用户

发布于 2015-10-26 01:42:11

如果你喜欢regex,你可以滥用findall来组成小组。

代码语言:javascript
复制
>>> import re
>>> s = '4e40b844800742db4f9b'
>>> [int(n, 16) for n in re.findall('..', s)]
[78, 64, 184, 68, 128, 7, 66, 219, 79, 155]

会更贵,但我觉得它读起来更好。

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

https://stackoverflow.com/questions/33336917

复制
相关文章

相似问题

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