该文件使用什么编码?

时间:2019-07-18 12:32:15

标签: c# xml encoding

我有一个包含符号文件的XML文件。示例:

<Export>
  <File id="1">
     <Hash>d1fdd1b25e6a864558b37a817757cbd0</Hash>
     <Content>H4sIAAAAAAAEAM3USwrCMBAG4L3gHYZZKbQ1GQyBtvEutsY2WGhp4qO3N33pwo3LkASGn4F8TCC5fVTwMPpZtC+FMQe/uQASeNpuAPK71VA2Z2sVFl2H4JskwqCQIRzmll6XbszZmj/NxdUK+RGh1qaqnULydT/2JFL4algr64ZGK7yaponb7lwaN6Q8YdkYpH1V7IiO0XL2mXV9e9NTziK/1iSebkxZIn5QNKHogxJfk1hJ9CHRXyQhouX8QaJfkwzQNM9JBmWSAZrmOfGwHk+GiFomFdbzyWBQ+cH/vKc3CmCcz38FAAA=</Content>
  </File>
</Export>

我不知道文件类型,但我猜可能是SVG。我尝试使用base64对其进行解码

var result = Convert.FromBase64String(fileContent);

,但这似乎没有任何可用的结果。这里使用了什么编码?

2 个答案:

答案 0 :(得分:3)

那是一个奇怪的文件:

  • 这是带有 Content 标签的XML文件。
  • Content 标签的文本已被Base 64解码。
  • 解码后的数据经过gzip压缩。
  • 解压缩后的数据是SVG图像(有一些小错误)。

看起来像这样:

enter image description here

答案 1 :(得分:0)

内容是使用gz压缩的svg:

<svg viewbox="-1 -1 15 25">
  <use class="bpp" x="7" y="0" />
  <rect x="0" y="0" width="14" height="24" rx="0.75" ry="0.75" style="fill-opacity:1.0;fill:rgb(224,224,224);stroke:rgb(0,0,0);stroke-width:0.5" />
  <rect x="2" y="2" width="5" height="5" rx="0.25" ry="0.25" style="fill-opacity:1.0;fill:rgb(255,255,255);stroke:rgb(0,0,0);stroke-width:0.25" />
  <rect x="7" y="2" width="5" height="5" rx="0.25" ry="0.25" style="fill-opacity:1.0;fill:rgb(255,255,255);stroke:rgb(0,0,0);stroke-width:0.25" />
  <rect x="2" y="7" width="5" height="5" rx="0.25" ry="0.25" style="fill-opacity:1.0;fill:rgb(255,255,255);stroke:rgb(0,0,0);stroke-width:0.25" />
  <rect x="7" y="7" width="5" height="5" rx="0.25" ry="0.25" style="fill-opacity:1.0;fill:rgb(255,255,255);stroke:rgb(0,0,0);stroke-width:0.25" />
  <rect x="2" y="12" width="5" height="5" rx="0.25" ry="0.25" style="fill-opacity:1.0;fill:rgb(255,255,255);stroke:rgb(0,0,0);stroke-width:0.25" />
  <rect x="7" y="12" width="5" height="5" rx="0.25" ry="0.25" style="fill-opacity:1.0;fill:rgb(255,255,255);stroke:rgb(0,0,0);stroke-width:0.25" />
  <rect x="2" y="17" width="5" height="5" rx="0.25" ry="0.25" style="fill-opacity:1.0;fill:rgb(255,255,255);stroke:rgb(0,0,0);stroke-width:0.25" />
  <rect x="7" y="17" width="5" height="5" rx="0.25" ry="0.25" style="fill-opacity:1.0;fill:rgb(255,255,255);stroke:rgb(0,0,0);stroke-width:0.25" />
</svg>

您必须先解压缩内容,然后才能使用它。