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);
相关推荐
gnip19 小时前
JavaScript事件流
前端·javascript
小菜全19 小时前
基于若依框架Vue+TS导出PDF文件的方法
javascript·vue.js·前端框架·json
wow_DG19 小时前
【Vue2 ✨】Vue2 入门之旅 · 进阶篇(一):响应式原理
前端·javascript·vue.js
weixin_4569042719 小时前
UserManagement.vue和Profile.vue详细解释
前端·javascript·vue.js
DKPT19 小时前
Java内存区域与内存溢出
java·开发语言·jvm·笔记·学习
秋秋小事19 小时前
React Hooks useContext
前端·javascript·react.js
ST.J19 小时前
前端笔记2025
前端·javascript·css·vue.js·笔记
拉不动的猪19 小时前
回顾vue中的Props与Attrs
前端·javascript·面试
耶啵奶膘20 小时前
uni-app头像叠加显示
开发语言·javascript·uni-app
chéng ௹20 小时前
uniapp 封装uni.showToast提示
前端·javascript·uni-app