gpt4 book ai didi

c# - 将 javascript 中的数字转换为 4 字节数组

转载 作者:太空宇宙 更新时间:2023-11-04 01:11:10 25 4
gpt4 key购买 nike

我正在尝试编写一个 Node 服务器,其中我需要向 C# 客户端发送一个 32 位整数(作为 header )。

我不太确定如何做到这一点,因为位移运算符让我感到困惑。我认为我的 c# 客户端需要这些整数采用小端格式(我不确定,我这么说是因为 NetworkStream IsLittleEndian 属性为 true)。

假设我在 javascript 中有一个类似的变量

var packetToDeliverInBytes = GetByteArrayOfSomeData();

//get the integer we need to turn into 4 bytes
var sizeOfPacket = packetToDeliver.length;

//this is what I don't know how to do
var bytes = ConvertNumberTo4Bytes(sizeOfPacket)

//then somehow do an operation that combines these two byte arrays together
//(bytes and packetToDeliverInBytes in this example)
//so the resulting byte array would be (packetToLiver.length + 4) bytes in size

//then send the bytes away to the client
socket.write(myByteArray);

如何编写 ConvertNumberTo4Bytes() 函数?

奖金

如何将这 2 个字节数组合并为一个,以便我可以在一个 socket.write 调用中发送它们

最佳答案

由于 elclanrs 的评论,在 Node 中使用 Buffer 对象似乎是可行的方法。

var buf = new Buffer(4 + sizeOfPacket);
buf.writeInt32LE(sizeOfPacket, 0);
buf.write(packetToDeliverInBytes, 4);

socket.write(buf);

关于c# - 将 javascript 中的数字转换为 4 字节数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17396054/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com