我正在阅读有关如何将 NSData 用于网络消息的示例。
创建 NSData 时,该示例使用:
unsigned int state = htonl(_state);
[data appendBytes:&state length:sizeof(state)];
将 NSData 转换回来时,该示例使用:
[data getBytes:buffer range:NSMakeRange(offset, sizeof(unsigned int))];
_state = ntohl((unsigned int)buffer);
在这个例子中是不是没有必要使用 htonl 和 ntohl ? - 由于数据是在 iOS 设备上打包/解包的,字节顺序不会相同,因此不需要使用 htonl 和 ntohl。-使用方式不正确吗?该示例使用 htonl 进行打包,使用 ntohl 进行解包。但实际上,如果知道发送者或接收者正在使用特定格式,难道不应该只这样做吗?