将带有ASCII值的整数转换为字符串

1 投票
2 回答
876 浏览
提问于 2025-04-17 09:24

我有一个整数,这个整数里面包含了四个字符的ASCII码:

0x31323334

我需要把这个整数转换成一个字符串:

"1234" ~ "\x31\x32\x33\x34"

有没有比这个更好的解决办法呢?

mystring = '%0*x' % (8, 0x31323334) # "31323334"
mystring.decode('hex') # "1234"

2 个回答

1

我觉得没有比格式字符串加解码更简单的了(需要Python 2.6或更高版本):

>>> "{0:08x}".format(0x31323334).decode('hex')
'1234'
1

不太确定这样做是否更好,不过就是这样 :)

>>> import struct
>>> struct.pack('>L', 0x31323334)
'1234'

撰写回答