因此,我正在序列化一些东西,并且我注意到在BinaryFormatter文档中,它提到可以通过将TypeFormat属性设置为FormatterTypeStyle.TypesWhenNeededFormatterTypeStyle.XsdString来提高性能并减小文件大小。

我已经尝试了这两种方法,也对它们进行了“或”运算,但是结果文件的大小却始终保持不变。偷看内容,我也注意到那里有很多类型字符串。 (在任何人询问之前,在将所有属性设置为FormatterTypeStyle.TypesAlways之前)

我正在使用有效支持.NET 3.5的Mono版本。可能与此有关,但我想确认没有其他我想念的东西

预先感谢您的任何帮助

最佳答案

我做过类似的事情,例如,将文本缓冲区发送到firebird blob到缓冲区序列化器:

protected Gtk.TextBuffer deserealizar (byte[] datos,TextBuffer txtBuffer)
{
    Atom serialFormat = txtBuffer.RegisterDeserializeTagset(null);
    ulong datostamano = (ulong) datos.LongLength;
    TextIter start = txtBuffer.StartIter;
    txtBuffer.Deserialize(txtBuffer, serialFormat, ref start, datos, datostamano);
    return txtBuffer;
}

protected byte[] serializar(TextBuffer buffer)
{
    TextIter inicio, final;
    buffer.GetBounds(out inicio, out final);
    Atom serialFormat = buffer.RegisterDeserializeTagset(null);
    byte[] datos = buffer.Serialize(buffer, serialFormat, inicio, final);
    return datos;
}


希望这可以帮助。

10-08 06:12