Usuń końcowe zera z bajtu []?
Pracuję z protokołem TCP i czytam z gniazda i zapisuję dane w tablicy byte [].
Oto przykład moich danych:
94 39 E5 D9 32 83
D8 5D 4C B1 CB 99
08 00 45 00 00 98
41 9F 40 00 6C 06
9C 46 26 50 48 7D
C0 A8 01 05 03 28
Stworzyłem tablicę byte [] o rozmiarze 1024. Teraz używam tej metody do usuwania z niej indeksów null:
public void Decode(byte[] packet)
{
byte[] temp;
int c = 0;
foreach(byte x in packet)
if (x != 0)
c++;
temp = new byte[c];
for (int i = 0; i < c; i++)
temp[i] = packet[i];
MessageBox.Show(temp.Length.ToString());
}
Ale usuwa również indeksy 0x00, które mogą być użytecznymi danymi ...
Jak mogę usunąć 0, które nie są opakowane w niezerowe dane (końcowe 0)?