序列化和编码之间有什么不同。
据我了解
"序列化定义了.NET对象如何映射到XML,而Encoding定义了如何将XML写入字节流。 "
这是正确的吗?
答案 0 :(得分:3)
是。用于在客户端和服务器之间传输消息的序列化我们需要将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
的详细解释答案 1 :(得分:3)
Serialization
是将内存中.NET对象转换为另一种格式,例如XML
,JSON
等,以便可以存储或传输它们。这种格式通常是文本,即一串字符。
Encoding
是将这些字符转换为字节流,以通过线路传输它们或将它们存储到磁盘。一些常见的编码是ASCII
,UTF-8
等。
来自维基百科,
Serialization:序列化是将数据结构或对象状态转换为可以存储的格式(例如,在文件或内存中)的过程缓冲区,或通过网络连接链路传输),稍后在相同或另一个计算机环境中重建。
Character Encoding:字符编码系统由一个代码组成,该代码将给定指令表中的每个字符与其他内容配对 - 例如位模式 ..通过电信网络或数据存储促进数据传输(通常是数字或文本)。