Say we have a struct that it\'s data is provided by un-managed byte array using Marshal.PtrToStructure.
The C# struct layout:
[StructLayout(LayoutKin
The XmlSerializer by default will encode the byte arrays using base 64 encoding. If you use this site and paste in IzE=, and decode it, the result will be #1. You can change the encoding by setting the XmlElementAttribute.DataType. I'm not sure if [XmlElement(DataType = "string")] will work, but you can try it. Using [XmlElement(DataType = "hexBinary")] will generate the raw bytes.