好吧我不想问这个问题。但这是开始了。我在x86机器上用C语言写了一些代码。我想通过网络发送一个结构,并且我想将该结构转换为网络字节顺序...我理解所有关于包装的戏剧性的事情和gcc包装的用法……我想知道的是如何将结构(或数组或任何此类任意内存blob)转换为网络字节顺序。
有没有一个标准的(Unix/Linux/Posix)函数调用我可以使用,或者我必须自己调用。
X
所以我要保存一个音频文件。我必须把float[]转换成byte[]。这样做很好:
final byte[] byteBuffer = new byte[buffer.length * 2];
int bufferIndex = 0;
for (int i = 0; i < byteBuffer.length; i++) {
final int x = (int) (buffer[bufferIndex++] * 32767.0);
byteBuffer[i] = (byte) x;