【问题标题】:Serialization Versus Encoding序列化与编码
【发布时间】:2014-03-22 05:54:09
【问题描述】:

序列化和编码有什么区别。

据我了解

“序列化定义 .NET 对象如何映射到 XML,而编码定义 XML 如何写入字节流。”

这是正确的吗?

【问题讨论】:

    标签: c# wcf serialization


    【解决方案1】:

    是的。 序列化用于在客户端和服务器之间传输消息,我们需要将 CLR 类型转换为基于标准的 XML。

    WCF 将序列化定义为将对象图转换为 XML 信息集(XML Infoset)的过程

    1. The XML Infoset is the data model WCF uses internally to represent a message.
    2. The XML Infoset is the data model for representing an XML document.
    

    编码用于描述将 WCF 消息转换为字节数组的过程。这样做是为了让消息可以通过传输协议发送。

    这是一个很好的解释,例如http://msdn.microsoft.com/en-us/magazine/cc163569.aspx#S1

    【讨论】:

    • 我知道你很久以前就发布了这个,但如果你还在,如果你能在第一次使用它们时扩展首字母缩略词会很棒。
    【解决方案2】:

    Serialization 是将内存中的 .NET 对象转换为另一种格式,例如XMLJSON 等,以便可以存储或传输它们。这种格式通常是文本,即一串字符。

    Encoding 是将这些字符转换为字节流,以通过线路传输它们或将它们存储到磁盘。一些常见的编码有ASCIIUTF-8等。

    来自维基百科,

    Serialization:序列化是将数据结构对象状态转换为可以存储的格式(例如,在文件或内存缓冲区中,或通过网络连接链路传输)并稍后在相同或另一个计算机环境中重建。

    Character Encoding:字符编码系统由一个代码组成,该代码将给定曲目中的每个 字符 与其他东西配对 - 例如 位模式 ...促进通过电信网络传输数据(通常是数字或文本)或用于数据存储。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2010-12-29
      • 1970-01-01
      • 2010-09-05
      • 1970-01-01
      • 2013-09-04
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多