c# byte转为字符串

1.有如下IP:byte[]bt=new byte[]{1,1,168,192};
2.使用BitConverter.ToInt32(bt,0)后返回一个很大的负数(-1062731489),要怎样才能返回字符串形式的IP呢?

//字节序反向,说明是个大端,所以用Reverse反向
            //手段其实不少,我只选个理解起来最简单的

            IPAddress ip = new IPAddress(new byte[] { 1, 1, 168, 192 }.Reverse().ToArray());
            
            string ipstr = ip.ToString();

补充:建议nuget:system.buffers System.Memory
你要跟下位机折腾,字节操作是免不了。这两库用起来方便点

var bytes = new byte[] { 1, 1, 168, 192 };
            var ip_long = System.Buffers.Binary.BinaryPrimitives.ReadInt32BigEndian(bytes);
            var ip = new IPAddress(ip_long);
            string ip_str = ip.ToString();

循环byte数组,每个byte[i].ToTtring(X2)十六进制输出,不加x2就是十进制输出
解决你的问题,请点赞采纳,谢谢。