如何在Python中将字符串转换为十六进制字符串?

Chr*_*man 2 python string binary hex

我有一个32位字符的位串,我需要在Python中表示为十六进制.例如,字符串"10000011101000011010100010010111"也需要输出为"83A1A897".

关于如何在Python中最好地解决这个问题的任何建议?

Mar*_*ers 19

要格式化为十六进制,可以使用十六进制函数:

>>> hex(int('10000011101000011010100010010111', 2))
0x83a1a897
Run Code Online (Sandbox Code Playgroud)

或者以您要求的格式获得它:

>>> '%08X' % int('10000011101000011010100010010111', 2)
83A1A897
Run Code Online (Sandbox Code Playgroud)

  • "完美"[最好表达为答案左侧的绿色勾号](http://stackoverflow.com/faq#howtoask);-) (7认同)