Я написал некоторый C-код, который я хотел бы перенести на python, так как я считаю, что python - лучший «концептуальный» язык.
В своем коде C я использую реинтерпретацию памяти для достижения своих целей, например:
sizeof(int) is 4 byte
sizeof(char) is 1 byte
char c[4]={0x01,0x30,0x00,0x80};
int* i=(int*)c;
*i has the value 0x80003001
аналогично, если у меня есть:
int* j = (int*)malloc(sizeof(int));
char* c = (char*)j;
*j = 0x78FF00AA;
c is now {0xAA, 0x00, 0xFF, 0x78}
Я хотел бы сделать то же самое в Python, я понимаю, что для этого могу использовать битовые операции:
chararray=[]
num=1234567890
size=8
while len(chararray) < size:
char = chr( (num & 255 ) )
num = num >> 8
chararray.append(char)
Однако я надеялся, что будет более быстрый способ сделать это.
Есть ли в python что-нибудь похожее на объединение C?