序列化与编码的区别

3

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

据我所知:

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

这个理解正确吗?

2个回答

3

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

编码是将这些字符转换为字节流,以便于在网络上传输或存储到磁盘中。一些常见的编码方式包括ASCIIUTF-8等。

来自维基百科,

序列化:序列化是将数据结构对象状态转换为一种格式,以便于存储(例如在文件或内存缓冲区中)或在相同或另一个计算机环境中重构。

字符编码:字符编码系统由一个代码和一个给定库中每个字符配对的其他内容组成,例如位模式...以方便通过电信网络传输数据(通常为数字或文本)或进行数据存储。


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.

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

以下是一个好的解释及示例:http://msdn.microsoft.com/en-us/magazine/cc163569.aspx#S1


我知道你很久以前发布了这个帖子,但如果你还在的话,第一次使用缩写时扩展一下会很好。 - Piano Telope

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接