如何将字符串中的字节转换为整数?Python

9 投票
3 回答
14853 浏览
提问于 2025-04-16 01:20

我想要得到一个整数列表,这个列表表示一个字符串中的每个字节。

3 个回答

2

也许你指的是一串字节,比如通过网络接收到的,表示几个整数值?

在这种情况下,你可以使用unpack()函数把这串字节“解包”成整数值,格式字符串里用“i”来表示整数。

可以查看这里了解更多信息: http://docs.python.org/library/struct.html

7

你是说ASCII值吗?

nums = [ord(c) for c in mystring]

或者

nums = []
for chr in mystring:
    nums.append(ord(chr))
14

对于Python 2.6及以后的版本,你可以使用一个叫做 bytearray 的东西:

>>> b = bytearray('hello')
>>> b[0]
104
>>> b[1]
101
>>> list(b)
[104, 101, 108, 108, 111]

而对于Python 3.x,你需要用 bytes 对象,而不是字符串,所以你可以直接这样做:

>>> b = b'hello'
>>> list(b)
[104, 101, 108, 108, 111]

撰写回答