0

数値から派生した 5 バイトを期待するアプリケーションがあります。現在、4 バイトの Uint32 を使用しています。byte と Uint32 を使用するクラスを作成するように言われました。ただし、それらは数値であるため、それらを組み合わせる方法がわかりません。

Uint64 を使用して 5 バイトに変換するのが最善の方法であると考えました。ただし、それがどのように行われるかはわかりません。それを 5 バイトに変換し、Uint64 に戻すためにクラス内の別の関数を使用できるようにする必要があります。

これを行うための最良の方法について誰かアイデアがありますか?

ありがとうございました

4

1 に答える 1

4

BitConverter.GetBytesを使用して、不要な 3 バイトを削除します。

元に戻すには、BitConverter.ToUInt64を使用します。最初に、バイト配列に 3 つの余分な (ゼロ) バイトを埋め込む必要があることに注意してください。

エンディアンに注意してください。これらのバイトを送信しているアプリケーションが反対のエンディアンを期待している場合は、配列を逆にする必要があるかもしれません。また、エンディアンは、配列の最初または最後にバイトを追加/削除する必要があるかどうかを決定します。( BitConverter.IsLittleEndianを確認してください)

于 2013-04-02T19:00:14.053 に答える