C#逆转了ushort

Mor*_*itz 0 .net c# sockets endianness

我目前遇到一些Socket的问题.

我想要的输出是0x5801,反转的0x0158是实际上是ushort的344.

ushort t = 344;
p.WriteString("\x58\x01", false);
Run Code Online (Sandbox Code Playgroud)

我现在想要变量而不是硬编码的十六进制.我已经尝试了一些ReverseBit类等等,但没有真正起作用.

谢谢你的帮助!

Jon*_*eet 6

从不使用开始WriteString.你想写二进制数据吧?所以WriteShort直接使用或写入字节.

您还没有给出太多的信息用(如类型的工作p,或者是该数据是代表),但如果这是字节序的问题,你可以考虑使用我的MiscUtil拥有EndianBinaryWriterEndianBinaryReader它们一样的框架BinaryWriterBinaryReader类,但能够指定字节序.