由于跨不同的设备进行连接,所以大小端表示的网络协议,就经常会遇到。比如与PLC进行通讯,或者与不同的PC的网络协议通讯。这时候就需要对种数据进行大小端变换,才能把接收到的数据,或者发送过去的数据达到正确的表示。
过往对C或C++的方式比较熟悉,但是C#的表示方式又有一些不一样,经过总结和测试,可以归纳为下面的例子:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Text;
using System.Threading.Tasks;
using SuperSocket.SocketBase;
namespace ConsoleApp11
{
class Program
{
// 例子:如果我们将0x1234abcd写入到以0x0000开始的内存中,则结果为
// big-endian little-endian
//0x0000 0x12 0xcd
//0x0001 0x23 0xab
//0x0002 0xab