能否請你幫我將這個C++代碼爲蟒蛇: 我想異或數據for循環C++ VS蟒蛇
C++:
void Encrypt(void data, Dword size)
{
if(size > 0)
for(DWORD i = size - 1; i > 0; i--)
((LPBYTE)data)[i] ^= ((LPBYTE)data)[i - 1];
}
能否請你幫我將這個C++代碼爲蟒蛇: 我想異或數據for循環C++ VS蟒蛇
C++:
void Encrypt(void data, Dword size)
{
if(size > 0)
for(DWORD i = size - 1; i > 0; i--)
((LPBYTE)data)[i] ^= ((LPBYTE)data)[i - 1];
}
要做到這一點在Python,你可能想使用bytearray
類:
def encrypt(data):
n = len(data)
for i in range(n-1, 0, -1):
data[i] ^= data[i-1] # for this to work, data has to be mutable
f = open('somefile.bin', 'rb')
buf = bytearray(f.read())
f.close()
encrypt(buf)
注意的評論,你不能傳遞一個字符串對象,因爲python中的字符串是不可變的。另一方面,bytearray
不是。
我假設你的意思是void *數據。 – Antimony