cpp中的字节顺序转换

时间:2012-05-30 06:06:30

标签: c++ hex endianness

我正在努力解决问题。 我有一个char * SERIAL_HEX = 5F6D1F7F 但是我的代码期望SERIAL_HEX的顺序相反。 像SERIAL_HEX = 7F1F6D5F

所以它颠倒了十六进制数字。我怎样才能在c ++中实现这一点? 任何指针都会对我有所帮助! 谢谢,

1 个答案:

答案 0 :(得分:1)

你有(至少)两种可能性:

  • 将每个字符对转换为一个字节,用std::reverse()反转生成的字符串,并将每个字节转换回其十六进制表示
  • 将每个字符对与从末尾开始计算的字符对交换。