我正在使用以下代码段将整数转换为vector<unsigned char>
:
const vector<unsigned char> int_to_bytearray(const size_t value) noexcept {
unsigned char bytes[4];
bytes[0] = (value >> 24) & 0xFF;
bytes[1] = (value >> 16) & 0xFF;
bytes[2] = (value >> 8) & 0xFF;
bytes[3] = value & 0xFF;
const vector<unsigned char>to_return(bytes, bytes + sizeof bytes);
return to_return;
}
如果我传递值196608
,我得到{'\x00', '\x03', '\x00', '\x00'}
这是我所期望的。如果我通过37
,我会{ 0, 0, 0, % }
,百分比标记会让我失望。我错过了什么?
答案 0 :(得分:7)
你得到了&#39;%&#39;字符,其代码为37.所以一切都按预期工作。