我想通过网络发送一个Uint16。我已经看过可用的不同.NET序列化器了。根据此F# Serialize Discriminated Union why so many bytes?,使用BinaryFormatter将生成代表该类型的元数据的开销字节。结果是UInt16一旦通过该格式化器,就不能表示为16位。我需要一种方法来转换UInt16,这样我就可以从它获得16位,我可以发送到套接字另一端的程序。
答案 0 :(得分:3)
我认为您可以使用System.BitConverter
类:
static member GetBytes :
value:uint16 -> byte[]
答案 1 :(得分:0)
我刚刚找到BitConverter类,它看起来像我想要的那样:
byte_array = BitConverter.GetBytes header.id
其中header.id是UInt16