在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,那也会很有帮助。
使用 struct
模块将字节序列解释为C风格的数据类型。
import struct
hex(struct.unpack("i", "AABB")[0])
这使得 '0x42424141'
.