2011-06-03 35 views
2

假设我们通过网络发送一些数据......我的理解是,Endianness无条件成为一个问题,因为我们不知道接收机器期望什么以及发送机器将发送什么。根据经验,这是正确的吗?Endianness总是需要考虑的问题吗?

答案取决于正在发送的数据的类型,比方说,如果我们发送C字符串vs IEEE样式的4字节浮点数,这是否重要?

回答

2

是的,字节序总是需要在网络协议中考虑和定义。它会影响大于单个字节的所有类型。所以一个基于char的C字符串将不会受到它的影响,因为它只是一个单字节的数组,但如果其中一台机器是小端,另一个是大端,则需要转换基于wchar_t的字符串。同样适用于所有较大类型,如intfloat等。

+0

优秀。谢谢 – JAM 2011-06-03 21:10:11