C# Byte数组与Int16数组之间的转换(转)
u
这里提供两个函数,完成相互转换。
private void Int16ToByte(Int16[] arrInt16, int nInt16Count, ref Byte[] destByteArr)
{
//高字节放在前面,低字节放在后面
for (int i = 0; i < nInt16Count; i++ )
{
destByteArr[2 * i + 0] = Convert.ToByte((arrInt16[i] & 0xFF00) >> 8);
destByteArr[2 * i + 1] = Convert.ToByte((arrInt16[i] & 0x00FF));
}
}
private void ByteToInt16(Byte[] arrByte, int nByteCount, ref Int16[] destInt16Arr)
{
//按两个字节一个整数解析,前一字节当做整数高位,后一字节当做整数低位
for (int i = 0; i < nByteCount / 2; i++)
{
destInt16Arr[i] = Convert.ToInt16(arrByte[2 * i + 0] << 8 + arrByte[2 * i + 1]);
}
}
using System;
int i = 123;
byte [] intBuff = BitConverter.GetBytes(i); // 将 int 转换成字节数组
lob.Write(intBuff, 0, 4);
i = BitConverter.ToInt32(intBuff, 0); // 从字节数组转换成 int
double x = 123.456;
byte [] doubleBuff = BitConverter.GetBytes(x); // 将 double 转换成字节数组
lob.Write(doubleBuff, 0, 8);
x = BitConverter.ToDouble(doubleBuff, 0); // 从字节数组转换成 double
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
2015-07-09 svn服务器端回退版本 (转)