2
假设我们通过网络发送一些数据......我的理解是,Endianness无条件成为一个问题,因为我们不知道接收机器期望什么以及发送机器将发送什么。根据经验,这是正确的吗?Endianness总是需要考虑的问题吗?
答案取决于正在发送的数据的类型,比方说,如果我们发送C字符串vs IEEE样式的4字节浮点数,这是否重要?
假设我们通过网络发送一些数据......我的理解是,Endianness无条件成为一个问题,因为我们不知道接收机器期望什么以及发送机器将发送什么。根据经验,这是正确的吗?Endianness总是需要考虑的问题吗?
答案取决于正在发送的数据的类型,比方说,如果我们发送C字符串vs IEEE样式的4字节浮点数,这是否重要?
是的,字节序总是需要在网络协议中考虑和定义。它会影响大于单个字节的所有类型。所以一个基于char
的C字符串将不会受到它的影响,因为它只是一个单字节的数组,但如果其中一台机器是小端,另一个是大端,则需要转换基于wchar_t
的字符串。同样适用于所有较大类型,如int
和float
等。
优秀。谢谢 – JAM 2011-06-03 21:10:11