C# 中读取byte[]转化成数字

读取网络字节流时候,使用BinaryReader的ReadInt32()方法时候发生了预期外的结果,查阅了微软文档发现是小端( )模式问题,可以通过System.Net.IPAddress.HostToNetworkOrder或BinaryPrimitives.ReadInt32BigEndian 方式来解决

以下示例代码,提供参考

csharp 复制代码
var sendNu = 1102;
var sendBuf = BitConverter.GetBytes(sendNu);
if (BitConverter.IsLittleEndian)
{
   var  sendBufByBig = sendBuf.Reverse().ToArray();
}
var bufByLittle = new byte[] { 77, 4, 0, 0 };
var bufByBig = bufByLittle.Reverse().ToArray();
var originalNu = BitConverter.ToInt32(bufByBig.Reverse().ToArray());

using var fs = new MemoryStream(bufByLittle);
var binReader = new BinaryReader(fs);
var orgVal = binReader.ReadUInt32();

var orgVal1 = BinaryPrimitives.ReadInt32BigEndian(bufByBig);
相关推荐
2501_941111776 分钟前
C++代码移植性设计
开发语言·c++·算法
~无忧花开~11 分钟前
Vue.config.js配置全攻略
开发语言·前端·javascript·vue.js
脉动数据行情31 分钟前
Go语言对接股票、黄金、外汇API实时数据教程
开发语言·后端·golang
w***Q3501 小时前
前端跨平台开发工具,Tauri与Electron
前端·javascript·electron
幸会同学1 小时前
在Cesium中实现飘动的红旗
javascript·three.js·cesium
橘子真甜~1 小时前
C/C++ Linux网络编程5 - 网络IO模型与select解决客户端并发连接问题
linux·运维·服务器·c语言·开发语言·网络·c++
霖001 小时前
ZYNQ——ultra scale+ IP 核详解与配置
服务器·开发语言·网络·笔记·网络协议·tcp/ip
flypwn1 小时前
justCTF 2025JSpositive_player知识
开发语言·javascript·原型模式
oliveira-time2 小时前
原型模式中的深浅拷贝
java·开发语言·原型模式
2501_941111462 小时前
C++中的原型模式
开发语言·c++·算法