Python 字符串转整数

1 投票
3 回答
727 浏览
提问于 2025-04-16 05:39

我想知道怎么把Python中的字符串转换成对应的整数值,比如这样:

>>>print WhateverFunctionDoesThis('\x41\x42')

>>>16706

我找了很久,但没找到简单的方法来做到这一点。

谢谢。

3 个回答

0

丑陋的方法:

>>> s = '\x41\x42'
>>> sum([ord(x)*256**(len(s)-i-1) for i,x in enumerate(s)])
16706

或者

>>> sum([ord(x)*256**i for i,x in enumerate(reversed(s))])
0

如果 '\x41\x42' 是一个十六进制的数字,就像 AB 一样。你可以用字符串来进行转换。

import string

agaga = '\x41\x42'
string.atoi(agaga, 16)
>>> 171

抱歉如果我理解错了你的意思...

7
>>> import struct
>>> struct.unpack(">h",'\x41\x42')
(16706,)
>>> struct.unpack(">h",'\x41\x42')[0]
16706

关于其他格式字符,可以查看这个文档

撰写回答