我已经问过“How to convert 32 bit integer to network byte order?”,但我仍然不理解这个概念。
我需要以网络字节顺序将数据长度写入套接字。
例如,如果以字节为单位的数据大小为1024,那么我需要在Ruby中将其表示为网络字节顺序。
根据我之前的问题的答案,它将是:
[1,0,2,4].pack("NNNN")
但是当我尝试这个时它也有效:
[10,24].pack("NN")
[4,2,0,1].pack("NNNN")
这样做的正确方法是什么?
答案 0 :(得分:4)
在Ruby中将32位整数转换为网络字节顺序的正确方法是
#[integer].pack("N")
[1024].pack("N")