4
我已經編寫了一些我想移植到python的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的聯合?
這些都是可怕的編碼實踐,即使是在C語言中。通常,這些都是替代Python中array.Array('B')更明智的東西的替身。你能給出一些背景或理由或原因,你爲什麼這樣做?可能有更好的Python解決方案,根本不是C類。 – 2008-12-02 11:00:16