根据我的理解,Endianness 是指构成多字节单词的字节顺序不同,至少在最典型的情况下是这样。因此,一个16位整数可以存储为 0xHHLL
或 0xLLHH
。
假设我没有错,我想知道的是,当两台计算机之间发送信息时,Endian 是否成为一个主要因素,在这两台计算机之间,Endian 可能不同,也可能不同。
如果我以字符数组的形式传递一个1的短整数,而且没有修正,它是否被接收并解释为256?
如果我使用下面的代码分解和重新组合短整数,那么 endianness 是否不再是一个因素?
// 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;
};
Thanks in advance!