gpt4 book ai didi

C# 小端还是大端?

转载 作者:IT王子 更新时间:2023-10-29 03:44:44 27 4
gpt4 key购买 nike

在允许我们通过 UDP/IP 控制它的硬件文档中,我找到了以下片段:

In this communication protocol, DWORD is a 4 bytes data, WORD is a 2 bytes data, BYTE is a single byte data. The storage format is little endian, namely 4 bytes (32bits) data is stored as: d7-d0, d15-d8, d23-d16, d31-d24; double bytes (16bits) data is stored as: d7-d0 , d15-d8.

我想知道这如何转化为 C#?在发送之前我必须转换东西吗?例如,如果我想发送一个 32 位整数或 4 个字符的字符串?

最佳答案

C# 本身不定义字节顺序。但是,无论何时转换为字节,您都在做出选择。 BitConverter类有一个 IsLittleEndian字段告诉你它将如何表现,但它没有给出选择。 BinaryReader/BinaryWriter 也是如此。

我的 MiscUtil库有一个 EndianBitConverter 类,它允许您定义字节顺序; BinaryReader/Writer 有类似的等价物。恐怕没有在线使用指南,但它们很简单:)

(EndianBitConverter 还具有普通 BitConverter 中不存在的一项功能,即在字节数组中就地进行转换。)

关于C# 小端还是大端?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/217980/

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