两个小字节序机器所需的转换

问题描述

在一次采访中有人问我“是否必须在两个小字节序的机器之间传输数据才能进行转换(从小到大字节序,反之亦然)”

据我所知,little endian将最低字节存储在最低地址,而big endian将较高字节存储在最低地址。我不确定两台机器之间如何进行数据传输?

任何人对此都有任何想法。

谢谢

解决方法

诸如htonshtonlntohsntohl之类的功能可以将Little Endian转换为网络顺序(big-endian),反之亦然。网络协议要求首先将数据转换为big-endian,然后再将其转换回little-endian(如果这是主机字节顺序)。

,

惯例是通过网络以big-endian格式传输数字。 通常,您不应对目标计算机平台进行任何假设。 这样,即使两台机器内部使用不同的格式存储数字,它们也可以相互理解。

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...