I have a jagged array DataMemberthat returns byte[800][10000][1]that translates to ~ 8 MB of data. When serialized using DataContractSerializerit, it turns into a file size of 120 MB for binary and 300 MB for text. If you look at the serialization of the text, it means that it places a tag around each byte value, indicating that its value is base64 encoded, etc., which could be the reason for the increase in this size.
What is an efficient way to serialize a large jagged blob using DataContractSerializer(or any other serializer, for that matter)
fragment of XML output when serializing using Text:
<a:ArrayOfbase64Binary><a:base64Binary>CQ==</a:base64Binary><a:base64Binary>Bw==</a:base64Binary><a:base64Binary>BQ==</a:base64Binary><a:base64Binary>AA==</a:base64Binary><a:base64Binary>AQ==</a:base64Binary><a:base64Binary>AA==</a:base64Binary><a:base64Binary>BA==</a:base64Binary><a:base64Binary>Bg==</a:base64Binary><a:base64Binary>CA==</a:base64Binary><a:base64Binary>AA==</a:base64Binary><a:base64Binary>AA==</a:base64Binary><a:base64Binary>AA==</a:base64Binary><a:base64Binary>AA==</a:base64Binary><a:base64Binary>AA==</a:base64Binary><a:base64Binary>AA==</a:base64Binary><a:base64Binary>AA==</a:base64Binary>
source
share