2011-08-22 68 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