我试图在我的一些 XML 节点中输出一些原始字节数据。
我不相信Base64
输出适合我的解决方案。
我目前的工作如下:
要保存到文件:
(容器类Foo中的成员函数)
public void save(String file)
{
XmlWriterSettings settings = new XmlWriterSettings();
XmlSerializer serializer = new XmlSerializer(typeof(Foo));
XmlWriter writer = XmlWriter.Create(file, settings);
serializer.Serialize(writer, this);
}
序列化类(类继承自 IXmlSerializable):
(里面的数据Bytes
是原始数据)
public void WriteXml(XmlWriter writer)
{
char[] temp = new char[Bytes.Length];
for (int i = 0; i < temp.Length; i++)
{
int n = (int)Bytes[i];
temp[i] = (char)n;
}
writer.WriteRaw(temp, 0, temp.Length);
}
我确定在此操作之后,数据中Bytes
的数据与 temp 中的数据完全匹配,但是在我序列化类之后,输出文件中的原始数据似乎不匹配,尽管有些部分看起来相似。我也尝试过在 上使用编码设置XmlWriter
,但这经常以异常结束。