使用C#来模拟python pack和unpack函数的效果的需求来自一次作业,作业做一个联网的射击游戏,那么不可避免地要进行服务端和客户端地交互,但是服务端代码由Python编写,而客户端代码由C#完成,并且服务端发送数据又经过pack打包,这样一来,客户端就需要去解析收到的数据,然而没有对应的库或者函数可以用(又或者我没有找到),所以我根据我的使用场景来实现了打包和解包的函数。本来不打算发出来,因为没有经过严格的测试(又或者说只适用于我这里的问题),但如果你也有类似的问题,不妨看一看,可能会有启发。
我的使用场景:

服务端向客户端发送数据时,使用包头+data的方式来避免粘包。首先把计算数据和包头长度,而后将其pack成字符串,与data组合一并发送至客户端,由客户端进行解析。
pack format:4 bytes little endian (x86) by default