【发布时间】:2014-03-22 05:54:09
【问题描述】:
序列化和编码有什么区别。
据我了解
“序列化定义 .NET 对象如何映射到 XML,而编码定义 XML 如何写入字节流。”
这是正确的吗?
【问题讨论】:
标签: c# wcf serialization
序列化和编码有什么区别。
据我了解
“序列化定义 .NET 对象如何映射到 XML,而编码定义 XML 如何写入字节流。”
这是正确的吗?
【问题讨论】:
标签: c# wcf serialization
是的。 序列化用于在客户端和服务器之间传输消息,我们需要将 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
【讨论】:
Serialization 是将内存中的 .NET 对象转换为另一种格式,例如XML、JSON 等,以便可以存储或传输它们。这种格式通常是文本,即一串字符。
Encoding 是将这些字符转换为字节流,以通过线路传输它们或将它们存储到磁盘。一些常见的编码有ASCII、UTF-8等。
来自维基百科,
Serialization:序列化是将数据结构或对象状态转换为可以存储的格式(例如,在文件或内存缓冲区中,或通过网络连接链路传输)并稍后在相同或另一个计算机环境中重建。
Character Encoding:字符编码系统由一个代码组成,该代码将给定曲目中的每个 字符 与其他东西配对 - 例如 位模式 ...促进通过电信网络传输数据(通常是数字或文本)或用于数据存储。
【讨论】: