代码之家  ›  专栏  ›  技术社区  ›  Stefan Monov

“格式化程序”和“序列化程序”-术语之间有什么区别吗?

  •  10
  • Stefan Monov  · 技术社区  · 14 年前

    NET中的一些东西被称为“格式化程序”- BinaryFormatter , SoapFormatter

    其他的被称为“序列化程序”- XmlSerializer , DataContractSerializer

    为什么不同?

    3 回复  |  直到 14 年前
        1
  •  7
  •   Hans Passant    14 年前

    有点脆弱,但有一个微妙的区别。在.NET框架中有17个具体的类格式化XML。这些格式化程序都是隐藏的,您可以使用类似XmlWriter.Create创建(). 对于DataContractSerializer也一样,实际的格式化是由一个XmlDictionaryWriter实例完成的。

    对于BinaryFormatter或SoapFormatter没有这样的间接寻址,它们自己处理格式化。换句话说,格式化程序格式化,序列化程序使用格式化程序。

        2
  •  4
  •   Andrey    14 年前

        3
  •  1
  •   t0mm13b    14 年前

    这些差异 格式程序 关键的 - 二进制格式 正如它所暗示的,数据是以本机二进制的方式,而 肥皂格式化程序

    正是出于这个原因,如果您想进行“内存转储”,最好使用BinaryFormatter并进行序列化/反序列化,代价是 数据互操作性

    鉴于 肥皂格式化程序