【发布时间】:2015-02-18 12:06:54
【问题描述】:
这个问题与: C# How to extract bytes from byte array? With known starting byte
我有“100 bytes byte[]”,它由几个随机出现在较大字节中的“14 bytes byte[]”组成。
我的小字节[] 以(字节)0x55 开始,16 个字节后结束
我正在使用代码:
byte[] results = new byte[16];
int index = Array.IndexOf(readBuffer, (byte)0x55, 2);
Array.Copy(readBuffer, index, results, 0, 16);
但是有了这个,我只得到了我的小字节[]的第一次出现。
如何获得所有较小的 byte[] 块?
PS:我正在使用 .Net Micro Framework
【问题讨论】:
-
如何使用
for循环遍历原始数组?您应该如何处理生成的子数组? -
您只需将所有代码包装在一个循环中
-
如果你的小数组只有 14 个元素,它怎么能在 16 个字节之后结束呢? 14、15 或 16 字节的倍数如何适合 100 字节?你的问题很难理解。哦,我错过了“随机”部分。您是否认为 0x55 总是开始一个 15 字节的序列,包括它本身?
-
“随机出现在更大的字节” 稍等。随机是什么意思?它们不是按顺序排列的吗?如果一个字节序列包含中间的值0x55怎么办?我假设它是 0x55 + 14 字节 + 校验和字节?
-
@PeterSchneider,是的,ox55 总是开始一个 16 字节的序列,包括它自己。忘记14,这是一个错误。 :)
标签: c# byte bytearray .net-micro-framework netduino