获取数组中每个第 n 个字节/值
本文关键字:字节 获取 数组 | 更新日期: 2023-09-27 18:32:22
我正在寻找一种平滑/快速的方法来检索字节数组中的每一个短短并将其复制到新数组中。
l = 低字节u = 上字节
我的数据采用以下形式: byte[] bytes= {a0l, a0u, b0l, b0u, c0l, ..., n0l, n0l, a1l, a1u, b1l, ..., nXl, nXu}
我需要的是获取长度为 X 的 n 字节数组(例如,a[0..X]、b[0..X]、...或 M[a..n][0..X])
我在想以下两个步骤:
-
将值转换为短 (=> 短[] 短 = { a0, b0, c0, ...N0, A1, ..nX})通过使用类似的东西
short[] shorts= new short[(int)(Math.Ceiling(bytes.Length / 2.0)]; Buffer.BlockCopy(bytes, 0, shorts, 0, bytes.Length);
-
从短裤中检索每秒值
I'm looking for some fast code here... something like blockcopy with skip I am completely aware that I could use a loop - but maybe there's a better solution to it as I need to do this task for 80MB/s...
-
将其转换回字节数组(相同 - 使用块复制)
byte[] arrayX = new byte[shorts.Length * 2]; Buffer.BlockCopy(shorts, 0, arrayX , 0, arrayX .Length);
非常感谢!
我认为您最好将字节直接复制到新的字节数组中,并计算出每个短的正确偏移量。
将其全部转换为单独的短数组并返回字节数组是浪费时间IMO。