c - 如何将单个字节放入网络字节顺序?

标签 c network-programming byte network-protocols bit

所以我有变量:

uint8_t version = 1;
uint8_t ttl = 1;
uint16_t payload_length = 
uint32_t account_identifier = 24027;
uint32_t source_address = 0;
uint32_t destination_address = 0;
uint16_t checksum = 0;
uint16_t protocol = 1;

我想按网络字节顺序生成所有值。

我知道对 16 位值使用 htons(),对 32 位值使用 htonl()

所以我会这样做:uint32_t source_address = htonl(0);uint16_t checksum = htons(0);

我应该为 8 位值使用什么?

最佳答案

What should I use for the 8 bit values?

没有。 1 字节(8 位)值没有“字节顺序”。所以您不必担心它们(这就是为什么没有针对它们的 hton 函数)。

关于c - 如何将单个字节放入网络字节顺序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26475542/

相关文章:

c - 如何从用户程序中调用用内核模块编写的函数?

c - 在 get_line 实现中,如何允许用户移动光标?

java - 网络可用时自动连接到互联网

java - 从Java中的压缩PDF文件中读取字节

python - 你如何读取这个 .wav 文件字节数据?

arrays - 将字节数组转换为 int64 golang 数组

c - 将结构添加到 C 中的 char 数组

c - 如何为程序创建外部API?

c - 为什么最后一个 read() 需要很长时间才能返回

c++ - VS2008无法打开socket程序头