如何将Python 2.7的字符串解释为像C语言中的char数组那样的整数?

问题描述 投票:0回答:1

在C语言中,一个字符数组可以被一个字符串数组引用。int * 或转码为整数值。下面是一个小程序示例。

#include <stdio.h>

int main() {
   char *str = "AABB";
   int *i = (int *)str;
   printf("int value: %d\n", *i);
   return 0;
}

这个程序输出 int value: 1111638337 即 0x42424141。

在Python 2.7中如何实现这个目标?我知道我可以使用 ord() 然后向左移动,但我想一定有比这更好的解决方案。另外,如果有办法调整endianness,那也会很有帮助。

python c arrays python-2.7 endianness
1个回答
1
投票

使用 struct 模块将字节序列解释为C风格的数据类型。

import struct
hex(struct.unpack("i", "AABB")[0])

这使得 '0x42424141'.

© www.soinside.com 2019 - 2024. All rights reserved.