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);
相关推荐
一路向前的月光几秒前
uniapp(5)滚动列表scroll-view
前端·javascript·uni-app
Hilaku24 分钟前
就因为package.json里少了个^号,我们公司赔了客户十万块
前端·javascript·npm
wu_jing_sheng038 分钟前
销售数据分析
开发语言·python
haofafa1 小时前
STL之动态数组
开发语言·c++
秋子aria1 小时前
模块的原理及使用
前端·javascript
爱加班的猫1 小时前
深入理解防抖与节流
前端·javascript
用户12039112947261 小时前
从零实现AI Logo生成器:前端开发者的DALL-E 3实战指南
javascript
信码由缰1 小时前
Java智能体框架的繁荣是一种代码异味
javascript·ai编程
自由日记1 小时前
学习中小牢骚1
前端·javascript·css
earthzhang20212 小时前
【2051】【例3.1】偶数
开发语言·数据结构·算法·青少年编程·图论