据我了解,字节序是指组成多字节字的字节的顺序不同,至少在最典型的情况下如此。这样16位整数可以存储为0xHHLL
或0xLLHH
。
假设我没有记错,我想知道的是,Endianness何时成为在两台计算机之间(Endian可能不同)的主要因素,而Endian可能不同。
如果我以char数组的形式传输短整数1,并且没有进行任何更正,是否接收并将其解释为256?
如果我使用以下代码分解和重新组合短整数,则字节序将不再是一个因素吗?
// Sender: for(n=0, n < sizeof(uint16)*8; ++n) { stl_bitset[n] = (value >> n) & 1; }; // Receiver: for(n=0, n < sizeof(uint16)*8; ++n) { value |= uint16(stl_bitset[n] & 1) << n; };
- 是否存在补偿字节序的标准方法?
提前致谢!