5
我有一個鋸齒狀數組DataMember
,它返回byte[800][10000][1]
,它轉換爲〜8MB的數據。當使用DataContractSerializer
進行序列化時,它會變成文件大小爲120MB的二進制文件和300MB的文本文件。看看文本序列化,它表明它在每個字節值周圍放置一個標籤,以表明它的base64編碼值等等,這可能是這種尺寸擴大的原因。有效地序列化鋸齒狀字節數組
使用文本序列化時,什麼是有效的方式來序列使用DataContractSerializer
段XML輸出較大的鋸齒狀BLOB(或任何其他串行器爲此事):
<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>
我試過了。如果這樣的話,它只有10MB。 – LadderLogic 2013-02-15 21:39:14