Endian - Struct to byte array
Følgende kode konveretere en struct til et byte array.private unsafe byte[] StructureToByteArray(object obj)
{
int rawsize = Marshal.SizeOf(obj);
byte[] arr = new byte[rawsize];
GCHandle handle = GCHandle.Alloc(arr, GCHandleType.Pinned);
Marshal.StructureToPtr(obj, handle.AddrOfPinnedObject(), false);
handle.Free();
return arr;
}
Problemet er at hvis structen indeholder f.eks en integer på 0x12, så ønsker jeg den skrevet 0x00000012 og ikke 0x12000000 som eksemplet gør.