我有一个XML文件,其中包含大量数据。
目前我可以读出c#中的每个数据,除了一个mp3文件,它在child.elemt中作为base64字符串保存,名为Data with commentary line:“4字节浮点数组转换为base64”。
我是c#的新手,在php / java初学者之前,所以要放纵。
我已将base64字符串附加到文本文件和原始mp3中,也许有帮助。 你能告诉我怎么能把它转回来吗?我已经尝试将数组中的单个字节转换为流并将其作为mp3文件写回来,但至少它的4倍大且绝对不在同一个文件中,只是保留在废话中。
https://www.file-upload.net/download-12719496/base64string.rar.html
编辑: 在L.B的帮助之后,我得到了这个,谢谢。
var mp3base64string = Convert.FromBase64String(child.Element("Data").Value);
using(FileStream file = File.Create(mp3datafilename)) {
using(BinaryWriter writer = new BinaryWriter(file)) {
for (int i = 0; i < mp3base64string.Length; i += 4) {
writer.Write((byte)(967.644334 f * BitConverter.ToSingle(mp3base64string, i)));
}
}
}
答案 0 :(得分:2)
此代码有效,输出与原始mp3完全相同,但不要问我是如何得到这个神奇的数字:)(xml的作者是否认为它是某种加密/混淆?)
<option {% if choice is selectedchoice(value) %} selected="selected"{% endif %} ...>
PS:非linq版本会更快......