更改十六进制char数组的字节顺序

时间:2015-02-28 04:56:52

标签: c++ string hex endianness

我正在使用如下代码段(来自this question):

char const hex_chars[16] = { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F' };

for( int i = data; i < data_length; ++i )
{
  char const byte = data[i];

  string += hex_chars[ ( byte & 0xF0 ) >> 4 ];
  string += hex_chars[ ( byte & 0x0F ) >> 0 ];
}

有效;但是,它会生成一个类似F0000000的字符串(例如)。

首先,这是什么字节序?

其次,如何更改代码以更改输出的字节顺序?

非常感谢你。

0 个答案:

没有答案