zu machen? Also eine Methode um verschiedene Datentypen byteweise in ein bytearray

Gast #3334230
Lesenswert?
• ▲
▼
Hallo Freunde,
habe eine Frage gibt es in c# auch eine Möglichkeit das umgekehrte vom 
unten angeführten Beispiel zu machen?
Also eine Methode um verschiedene Datentypen byteweise in ein bytearray 
einzufügen!

1
            Temp1 = BitConverter.ToSingle(Puffer,5);
2
            Temp2 = BitConverter.ToSingle(Puffer, 9);
3
            Temp3 = BitConverter.ToSingle(Puffer, 13);
4
            Temp4 = BitConverter.ToSingle(Puffer, 17);
5
            parameters1 = BitConverter.ToUInt16(Puffer, 21);
6
            parameters2 = BitConverter.ToUInt16(Puffer, 23);
7
            parameters3 = BitConverter.ToUInt16(Puffer, 25);
8
            parameters4 = BitConverter.ToUInt16(Puffer, 27);
Vielen Dank für Eure Hilfe!
Gast #3334850
Lesenswert?
• ▲
▼
1
float f=....
2

3
// In dieses Byte-Array solls rein:
4
byte[] zielBuffer=new byte[1024];
5

6
// Bytes von f holen:
7
byte[] bytesVonF=BitConverter.GetBytes(f);
8

9
// In zielBuffer kopieren:
10
int offset=5; // An Position 5 in zielBuffer solls kopiert werden
11
Buffer.BlockCopy(bytesVonF,0,zielBuffer,offset,bytesVonF.Length);
12

13
// ======================================
14

15
// Oder falls man nicht mit offsets arbeitet und nur nacheinander reinpackt:
16
byte[] zielBuffer=new byte[0];
17
using(MemoryStream ms=new MemoryStream())
18
{
19
    byte[] bytesVonF=BitConverter.GetBytes(f);
20
    
21
    // Bytes in den Memory-Stream schreiben:
22
    ms.Write(bytesVonF,0,bytesVonF.Length);
23
   
24
    // Hier: Noch mehr Zeugs reinschreiben...
25
    
26
    // Zum Schluss: MemoryStream als byte-Array holen:
27
    zielBuffer=ms.ToArray();
28
}
Gast #3335471
Lesenswert?
• ▲
▼
Normalerweise ist die Speicherung kein Selbstzweck.

Natürlich kann man praktisch jeden Datentyp in Bytes zerlegen und der 
Reihe nach abspeichern, wenn man diese aber rekonstruieren will, muss an 
irgend einer Stelle die ursprüngliche Struktur hinterlegt worden sein - 
wenn nicht, hat man im Anschluss, nur noch Bytes und davon jede Menge.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren