Nachgestellte Nullen aus Byte [] entfernen?

Ich arbeite mit dem TCP-Protokoll und lese aus dem Socket und schreibe die Daten in ein Byte-Array [].
Hier ist ein Beispiel meiner Daten:

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

Ich habe ein Byte [] -Array mit einer Größe von 1024 erstellt. Jetzt entferne ich mit dieser Methode Nullindizes daraus:

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());
}

Aber es werden auch 0x00-Indizes entfernt, die es vielleicht zu nützlichen Daten machen ...
Wie kann ich die Nullen entfernen, die nicht mit Nicht-Nullen-Daten umschlossen sind (nachstehende Nullen)?

Antworten auf die Frage(6)

Ihre Antwort auf die Frage