0

来自MSDN

实现这个接口有两个原因。第一个是控制 XmlSerializer 如何对对象进行序列化或反序列化。例如,您可以将数据分块为字节而不是缓冲大型数据集,并且还可以避免使用 Base64 编码对数据进行编码时发生的膨胀。

实施 IXmlSerializable 如何让我避免 base64 的大小膨胀?

我的意思是,假设我已经实现了 IXmlSerializable,并且我想将一个字节数组写入 XmlWriter。据我所知,最不膨胀的方法是 XmlWriter.WriteBase64 - 因为我不能直接写入数据 - 它会包含 XML 中无效的字节。

4

1 回答 1

1

是的,base64 效率不高。这里的假设是您可以自己以不同的方式对 byte[] 进行编码并节省空间。也许是游程编码。也许您可以 gzip 数组和 base64 编码压缩数据。类似的东西。

于 2010-09-21T11:54:47.020 回答