Tag: binarywriter

没有BinaryFormatter 的C#对象到byte ?

BinaryFormatter工作得很好,但在.NET 4.5的Portable类库中不存在。 我已经读过它在.NET 4.6 Portable中。 我还没有确认这一点,因为当我在项目设置中更改为4.6时,我收到一条警告消息“4.5将自动定位”,除非我取消选择Silverlight,WindowsPhone,Windows Universal,Xamarin等),所以我只能目标.NET 4.6便携式,如果我不是针对其他平台,从而打败了目的。 这是我原来的BinarySerializer(Works但不是PCL因为使用了BinaryFormatter ) private string BinarySerialize(object Source) { byte[] serializedObject; using (MemoryStream stream = new MemoryStream()) { BinaryFormatter formatter = new BinaryFormatter(); formatter.Serialize(stream, Source); serializedObject = stream.ToArray(); } return Convert.ToBase64String(serializedObject); } 那就是说,我开始尝试重新编写我的BinarySerializer以使用PCL中可用的BinaryReader和BinaryWriter ,并遇到以下问题: BinaryWriter ,只能处理简单类型(如string , bool , byte , long , int等)和Streams ,所以我认为我需要找到一种方法将匿名对象转换为Stream 。 我在正确的道路上吗? 你如何转换直到运行时才知道的类型(如System.Delegate – […]

将图像写入Process.StandardInput.BaseStream的更快捷方式

我试图将大量桌面捕获的图像发送到编码器(FFmpeg)stdin。 以下代码示例有效。 CaptureScreen()函数在5-10毫秒内提供图像。 如果我将图像保存在MemoryStream中,几乎没有时间。 但我只能每隔45毫秒将1张图像保存到proc.StandardInput.BaseStream。 public void Start(string bitrate, string buffer, string fps, string rtmp, string resolution, string preset) { proc.StartInfo.FileName = myPath + “\\ffmpeg.exe”; proc.StartInfo.Arguments = “-f image2pipe -i pipe:.bmp -vcodec libx264 -preset ” + preset + ” -maxrate ” + bitrate + “k -bufsize ” + buffer + “k -bt 10 -r ” […]

C#和.NET:如何使用BinaryWriter将结构序列化为byte 数组?

如何使用BinaryWriter将相当复杂的结构序列化为byte []数组? 更新: 为此,必须使用[Serializable]属性修饰每个结构(和子结构?)。 我不需要实现ISerializable接口,因为它旨在通过自己的序列化来控制对象。