C# 如何将 Int 表示为四字节整数

发布于 2024-12-11 14:57:31 字数 192 浏览 1 评论 0原文

我正在尝试将字节数组的长度发送到我的服务器,以便它知道要读取多少数据。

我使用 int messageLength = message.Length 获取 Byte[] message 数组的长度

如何将这个整数 messageLength 表示为四字节整数?

I'm trying to send the Length of a Byte array to my server, so that it knows how much data to read.

I get the length of the Byte[] message array using int messageLength = message.Length

How do I represent this integer messageLength a four-byte integer?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(5

海夕 2024-12-18 14:57:31

使用 BitConvertor BitConverter.GetBytes(message.Length);

Use BitConvertor BitConverter.GetBytes(message.Length);

何以心动 2024-12-18 14:57:31

您可以使用

int length = message.Length;
BitConvert.GetBytes(length);

http://msdn.microsoft.com/en-us/库/system.bitconverter.aspx

You can use

int length = message.Length;
BitConvert.GetBytes(length);

http://msdn.microsoft.com/en-us/library/system.bitconverter.aspx

送你一个梦 2024-12-18 14:57:31
message[0] = length & 0xFF;
message[1] = (length >> 8) & 0xFF;
message[2] = (length >> 16) & 0xFF;
message[3] = (length >> 24) & 0xFF;

为了恢复它...

int length = message[0] | (message[1] << 8) | (message[2] << 16) | (message[3] << 24);
message[0] = length & 0xFF;
message[1] = (length >> 8) & 0xFF;
message[2] = (length >> 16) & 0xFF;
message[3] = (length >> 24) & 0xFF;

To recover it...

int length = message[0] | (message[1] << 8) | (message[2] << 16) | (message[3] << 24);
飘逸的'云 2024-12-18 14:57:31

C# 中的一个字节是 8 位.. 8 位 * 4 字节 = 32 位.. 所以你想使用 System.Int32。

A byte in C# is 8 bits.. 8 bits * 4 bytes = 32 bits.. so you want to use a System.Int32.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文