8 Stimmen

Wie marshal Strukturen mit unbekannter Länge String-Felder in C #

Ich erhalte ein Array von Bytes, ich muss unmarshal es zu C# struct. Ich kenne den Typ der Struktur, es hat einige Zeichenketten Felder. Die Zeichenfolgen in der Byte-Array erscheint als so: zwei erste Bytes sind die Länge der Zeichenfolge, dann die Zeichenfolge selbst. Ich kenne die Länge der Zeichenketten nicht. Ich weiß aber, dass es sich um Unicode handelt!

[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)]
public class User
{
  int Id;//should be 1
  String UserName;//should be OFIR
  String FullName;//should be OFIR
}

sieht das Byte-Array wie folgt aus: 00,00,01,00, 00,00,08,00, 4F,00,46,00,49,00,52,00, 00,00,08,00, 4F,00,46,00,49,00,52,00,

Ich fand auch diesen Link mit dem gleichen Problem ungelöst: Laden von Binärdaten in eine Struktur

Ich danke Ihnen allen, Ofir

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X