Tag: 二进制文件

如何在xml字符串中发送二进制数据

我想以下面的xml格式将二进制文件发送到.net c#组件 在被调用的组件中,我将使用上面的xml字符串,并将BinaryFileString标记中接收的二进制字符串转换为filetype =”属性指定的文件。 文件类型可以是doc / pdf / xls / rtf 我在调用应用程序中有代码从要发送的文件中取出字节。 如何准备它与包裹在其周围的xml标签一起发送? 我希望应用程序向组件发送一个字符串而不是字节流。 这是因为我无法通过查看字节流来解密文件类型[pdf / doc / xls]。 因此具有filetype属性的xml字符串。 有什么想法吗? 提取下面的字节的方法 FileStream fs = new FileStream(_filePath, FileMode.Open, FileAccess.Read); using (Stream input = fs) { byte[] buffer = new byte[8192]; int bytesRead; while ((bytesRead = input.Read(buffer, 0, buffer.Length)) > 0) {} } return buffer; 谢谢。 […]

字典上.NET二进制序列化的奇怪行为

我在.NET的二进制序列化中遇到了一个奇怪的行为,至少在我的期望中。 加载的Dictionary所有项目都将在OnDeserialization回调后添加到其父项。 相反, List则采用另一种方式。 这在真实世界的存储库代码中可能非常烦人,例如,当您需要向字典项添加一些委托时。 请检查示例代码并观察断言。 这是正常的行为吗? [Serializable] public class Data : IDeserializationCallback { public List List { get; set; } public Dictionary Dictionary { get; set; } public Data() { Dictionary = new Dictionary { { “hello”, “hello” }, { “CU”, “CU” } }; List = new List { “hello”, “CU” }; } public […]

C# – 如何读写二进制文件?

如何从任何文件中读取原始字节数组,并将该字节数组写回新文件?

为什么BinaryWriter会在流的开头添加乱码? 你怎么避免它?

我正在调试将一个对象的片段写入文件的一些问题,我已经找到了打开文件并在其中写入“TEST”的基本情况。 我是这样做的: static FileStream fs; static BinaryWriter w; fs = new FileStream(filename, FileMode.Create); w = new BinaryWriter(fs); w.Write(“test”); w.Close(); fs.Close(); 不幸的是,这最终会在文件的前面添加一个框,它看起来像这样: 测试,前面有一个有趣的盒子。 这是为什么,我该如何避免呢? 编辑:它似乎没有在这里显示框,但它是看起来像胡言乱语的unicode角色。