gpt4 book ai didi

python - 在 Python 中将 char 数组类型转换或访问为整数数组

转载 作者:太空宇宙 更新时间:2023-11-03 11:56:02 29 4
gpt4 key购买 nike

我在 Python 中有一个 char 数组,它是从文件中读取的,例如

char_array = [0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f]

我如何将其转换/类型转换/访问为整数数组,例如

int_array[0] = 0x03020100
int_array[1] = 0x07060504
int_array[2] = 0x0b0a0908
int_array[3] = 0x0f0e0d0c

类似于在 C/C++ 中将字节数组作为整数访问的方式,即将 unsigned char * 类型转换为 unsigned long *。

最佳答案

可能是这样的:

>>> def toInt(arr, idx):
... res = 0
... for i in xrange(4):
... res |= (arr[idx*4 + i] << 8*i)
... return res
...

>>> '%08x' % toInt(char_array, 0)
'03020100'

>>> '%08x' % toInt(char_array, 1)
'07060504'

也许有一个使用struct 的更优雅的解决方案?

关于python - 在 Python 中将 char 数组类型转换或访问为整数数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10104960/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com