如何在python中将int的equivelant转换为int

Sia*_*ash 4 c python

我有一个函数,它将一个值作为字符串返回给我.这不是值的ascii表示,这是实际值,但函数将其作为字符串类型返回,而我需要将其视为int.我不允许更改我只需从中提取数据的功能.

在CI中只会将它转换为int指针并将其解析为:

myInt = *((int*)some_str_ptr)
Run Code Online (Sandbox Code Playgroud)

我怎么能在python中这样做?

同样,我不想修改或转换内存中的数据,我只想对待它并将其显示为int.

更新:我发现ord()在1个char上做了我想要的,但是有一个内置的方法来完成整个字符串吗?

mhl*_*ter 7

看看struct模块:

>>> struct.unpack('i', 'AAAA')[0]  # 'i' means "long" integer
                                   # 'AAAA' was the string you wanted cast to int
1094795585
>>> hex(_)
0x41414141
Run Code Online (Sandbox Code Playgroud)

  • @Siavash'a'是ASCII中的0x61(97).你得到1633771873 = 0x61616161这是正确的.'A'是0x41,所以如果你尝试了字符串"AAAA",你会得到0x41414141. (5认同)