2011-08-22 73 views
0

我有一個由uuid.bytes方法創建的python中的16字節的字符串,例如: 'I x9e | T \ r \ xad \ x80 \ x986m \ x00 \ x1c \ x07z0' 例如,我傳遞給一個C++文件。在C++中讀取python UUID字節字符串?

有沒有辦法讓我從C++端讀取並重建UUID?自從char = 1個字節後,我將它讀入一個16字符的數組中,但不確定從那裏開始。

回答

1

像這樣(未經)

char to_hex(int x) 
{ 
    return x < 10 ? x + '0' : (x - 10) + 'A'; 
} 

char bytes[16]; 
... 
std::string uuid; 
for (int i = 0; i < 16; ++i) 
{ 
    uuid += to_hex((bytes[i] >> 4) & 0x0F); 
    uuid += to_hex(bytes[i] & 0x0F); 
} 
+0

經過測試,此作品! – nicobatu

0

我會使用:

UUID.hex 

,除非你需要它的二進制表示。沒有用處來回轉換。

+0

不幸的是,確實需要二進制表示。 – nicobatu