【问题标题】:How to store audio, images, and binary files as XML?如何将音频、图像和二进制文件存储为 XML?
【发布时间】:2011-06-21 19:19:33
【问题描述】:

我正在阅读一本关于 .NET 的书,它说“XML 可用于存储任何类型的数据,包括文档(最新版本的 Microsoft Office 使用 XML 存储文档)、图片、音乐、二进制文件和数据库信息。”

嗯?这些类型的数据如何存储为 XML?

【问题讨论】:

    标签: .net xml xml-serialization binaryfiles


    【解决方案1】:

    Office 文档实际上是包含压缩文件的 ZIP 文件,主要是 XML。当你有一个嵌入的图像时,它只是将它作为二进制文件存储在 media 子目录中。 XML 按名称引用它,但不包含内容的 base 64 表示。

    【讨论】:

      【解决方案2】:

      您可以将它们转换为base64 并将其存储在xml 中:Storing base64 data in XML?

      【讨论】:

      • 难以置信。这些天我们不能做什么?
      • 好吧,你可以这样做,但这不是一个好主意,因为 Base64 大了 33%,而且转换本身很慢。这也不是 MS Office 实际所做的。
      • 我假设你应该做的是二进制序列化?我的问题确实更具学术性。我无法想象这将如何发生,但我现在明白了。 Base64 编码可以将所有数据写入字符格式,以便以后存储和解码。
      • base 64 的使用是比较先进的:传统的方法应该是 base 16,大小加倍。至于否决票,是为了提醒读者,虽然可以这样做,但这不是一个好主意。
      【解决方案3】:

      在大多数情况下,您只需使用 base64 编码,然后保存即可。

      在某些情况下,您当然可以使用不需要编码的原生 xml 格式。比如矢量图的SVG等。

      【讨论】:

      • 您能否详细说明使用“base64 编码然后保存此”部分?
      • 你可以在wikipedia上阅读base64编码的细节:en.wikipedia.org/wiki/Base64不幸的是我不熟悉.net,但我确信.net中有一种方法可以转换二进制流或者是base64编码的字符串
      • yankee 是正确的。 .NET 中的一种方法是msdn.microsoft.com/en-us/library/…
      猜你喜欢
      • 2011-10-05
      • 2019-12-11
      • 2018-11-05
      • 1970-01-01
      • 2023-01-10
      • 2015-03-11
      • 1970-01-01
      • 2013-12-22
      • 2012-12-15
      相关资源
      最近更新 更多