Python 字符串转整数
我想知道怎么把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
关于其他格式字符,可以查看这个文档