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;
ts 数组字符串转数组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

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。