There is dozens of places discussing how to do different kinds of byteswapping, but I couldn't easily find a place explaining the concept and some typical examples of how the need to byteswap occurs.
So here is the question: what is byteswapping and why/when do I need to do it?
If examples are a good way to explain, I would be happy if they where in standard C++. Book references are appreciated, preferentially to Lippman's or Pratas C++ primers since those are the one I have available.
If I understand your question correctly, you're talking about big endian
to little endian
conversion and back.
That occurs because some microprocessors use little endian
format to refer to memory, while others use big endian
format.
The bytestreams on the internet are for example, big endian
while your intel CPU works with little endian
format.
Hence to translate from network to CPU or CPU to network, we need a conversion mechanism called byteswapping.
OSes provide ntohl()
and htonl()
functions for doing this.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With