C# BYTE[]转为ushort[]
时间: 2024-12-26 18:02:54 浏览: 66
在C#中,如果你有一个BYTE类型的数组byte[]
,想要将其转换为ushort
(无符号短整型)数组,你需要确保byte[]
的有效数据可以被适当地打包成两个字节(因为ushort
占用2个字节)。你可以通过循环逐字节读取并拼接的方式来实现这个转换。下面是一个简单的示例:
public ushort[] ConvertByteArrayToUShort(byte[] byteArray)
{
int byteCount = byteArray.Length;
if (byteCount % 2 == 1) // 检查是否字节数不是偶数,如果是,则需要填充0到使其成为偶数
byteCount++;
ushort[] ushortArray = new ushort[byteCount / 2];
for (int i = 0; i < byteCount; i += 2)
{
ushort ushortValue = (ushort)(byteArray[i] << 8 | byteArray[i + 1]); // 将两个字节合并
ushortArray[i / 2] = ushortValue;
}
return ushortArray;
}
这个函数首先检查输入字节数是否为偶数,如果不是,则添加一个0。然后创建一个新的ushort
数组,长度是原byte[]
的一半。接着,遍历byte[]
,每次处理两个字节,将它们合并成一个ushort
值,并放入结果数组。
相关推荐














