【发布时间】:2011-02-27 08:47:33
【问题描述】:
从我的字节 [512] 中删除多余的 00-00-00-00-00 的最佳方法是什么?
目前,当我从收到的不是 512 字节的数据包中加载一些数据时,它会返回类似
Byte[] received = new Byte[512];
int Recieving = Sockitty.ReceiveFrom(received, ref endPoint132);
string dataReceived = BitConverter.ToString(received);
txtReceived.AppendText(dataReceived);
//Outputs the following
74 68 69 73 20 69 73 20 61
20 74 65 73 74 00 68 65 6c
6c 6f 20 00 68 65 72 65 2e
**00** 00 00 00 00 00 00 00 00 //This is the part that needs to be removed but the stared 00.
00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 ... and so on
我怎样才能只删除到最后的 00?如您所见,数据包本身内部有 00,我不想删除。
最好的方法是反转然后循环,直到它碰到 00 以外的东西,然后从那时起将它加载到一个新的字节数组中?我怎么知道要将它加载到什么大小的数组中?
我很困惑。任何帮助表示赞赏。谢谢!
【问题讨论】:
-
你有关于哪一部分是数据,哪一部分是填充的任何信息吗?如果没有……那么做 o 是危险的……
-
你调用哪种方法来读取数据?通常,读取的数据长度会返回给您,因为读取的数据量可能小于请求的长度。然后,您只需将与数据的交互限制在此长度即可。
-
用我正在做的读取数据编辑 OP。