1

我想知道如何将Python中的字符串转换为相应的整数值,如下所示:

>>>打印WhateverFunctionDoesThis('\x41\x42')

>>>16706

我到处找了找,但还没有找到一个简单的方法。

谢谢您。

3个答案

重置为默认值
7
>>>导入结构>>>结构解包(“>h”,'\x41\x42')(16706,)>>>结构解包(“>h”,'\x41\x42')[0]16706

有关其他格式字符,请参阅文档

0
0

如果'\x41\x42'是基于16的num,如AB。可以使用字符串进行转换。

导入字符串agaga=“\x41\x42”字符串.atoi(agaga,16)>>> 171

对不起,如果我误会了。。。

1
  • 你说得对,'\x41\x42'=='AB'在某些宇宙中,杰森会要求0xAB型结果,而不是0x4142号
    – 米哈尔
    评论 2010年10月17日21:01
0

丑陋的方式:

>>>s='\x41\x42'>>>总和([枚举中i,x的ord(x)*256**(len(s)-i-1)])16706

>>>总和([ord(x)*256**i代表i,x代表枚举(反向)])
1
  • 1
    我认为左移比指数好求和([ord(x)<<(i*8)for i,x in enumerate(reversed(s))]) 评论 2010年10月17日21:03

你的答案

单击“发布您的答案”,表示您同意我们的服务条款并确认您已阅读我们的隐私政策.

不是你想要的答案吗?浏览标记的其他问题问你自己的问题.