Obtengo una matriz de bytes, necesito descomprimirla en C# struct. Conozco el tipo de estructura, tiene algunos campos de cadenas. Las cadenas en la matriz de bytes aparecen de esta forma: dos primeros bytes son la longitud de la cadena, luego la cadena misma. No conozco la longitud de las cadenas. ¡Sé que es Unicode!Cómo estructurar estructuras con campos de longitud de longitud desconocida en C#
[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)]
public class User
{
int Id;//should be 1
String UserName;//should be OFIR
String FullName;//should be OFIR
}
la matriz de bytes se ve así: 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,
también encontré este enlace con el mismo problema sin resolver: loading binary data into a structure
Gracias a todos, Ofir
Ofir, las ediciones sugeridas no son un medio de comunicación, si desea agregar un comentario o ampliar su pregunta, siéntase libre. –
¿Cómo se obtiene el 1 de la matriz de bytes? Un 'int' es 4 bytes, que sería' {00, 00, 01, 00} ', que no es 1. – Amy
Consulte mi 'respuesta'. Necesito más información. Conocer la matriz de bytes no es suficiente. ¿Cómo se ve la estructura nativa? – Amy