Tag: byte

如何将单独的int值转换为hex字节数组

我需要做一些(对我而言)int / hex / byte工作,我正在努力做到正确。 另一方面的tcp服务器期待Little Endian。 我需要发送一个由HEX值组成的字节数组。 需要发送6000作为: 0x70, 0x17 需要发送19作为: 0x13, 0x00, 0x00, 0x00 生成的字节数组应如下所示。 **FROM THE MANUFACTURER** Complete message should be: 0x70, 0x17, 0x13, 0x00, 0x00, 0x00, 0x40, 0x42, 0x0f, 0x00, 0xA0, 0x86, 0x01, 0x00, 0x04, 0x01, 0x02, 0x03, 0x04 我可以通过使用: .ToString(“x4”)得到6000的hex值为1770我可以使用: .ToString(“x8”)将hex值19作为00000013 我有两个问题: 这(据我所知)是Big Endian。 切断字符串并手动重写以反转字符串,是否有一个.net例程可以为我做这个? 一旦我扭转了,我该怎么做 7017 在一个字节数组中: [0] = […]

如何使用opencv从字节显示video?

我正在开展一个项目,我们使用无线电调制解调器将数据(video和遥测)从无人驾驶飞行器传输到地面站。 我们需要做的是实时显示video,并能够知道哪个帧对应于C#中的每个遥测数据块。 数据被解封装为遥测和video的字节(mpeg4)。 由于我对OpenCV有一些经验,我想用它来解码,显示和抓取video中的点击位置。 为此,我使用名为Emgu的C#的OpenCV包装器。 问题是OpenCV从设备或文件加载video,我只有一些字节的回调。 我已经尝试将这些字节写入文件并使用OpenCV打开此文件,但是一旦它结束,我需要重新打开它并从它停止的地方继续,这会产生延迟。 任何人都知道如何做到这一点?

byte 到ArrayList?

有人可以告诉我如何在Windows Mobile下使用C#将byte []转换为ArrayList? 稍后编辑: 这就像拥有一个包含自定义类型实例的ArrayList。 此列表作为字节数组转发到数据库(转换为blob)(转换由数据库API完成); 我想要的是将byte []还原为ArrayList; .NET CF不提供BinaryFormatter;

DotNetZip:将ZipFile转换为byte 数组

我正在使用DotNetZip将文件添加到zip存档中,我已从文件系统中读取该文件。 我想将生成的ZipFile转换为byte []数组。 任何帮助将受到高度赞赏。 我的代码如下所示。 public byte[] AddPrjFile(FileStream shapeFileZip, Uri prjLocation) { string prjFileAbsPath = prjLocation.AbsolutePath; using (ZipFile zip = ZipFile.Read(shapFileZip)) { ZipEntry e = zip.AddFile(prjFileAbsPath); e.FileName = zipFile.Name + “.prj”; } return byte_array; }

如何为枚举char(1)数据库字段实现C#enum?

好的,所以我有一个char(1)类型的数据库字段,它有少量可能的状态代码(例如’F’=失败,’U’=未知等)。 我想要一个与这些状态相对应的C#enum类。 我可以: public enum StatusCode : byte { Unknown = (byte) ‘U’, Failure = (byte) ‘F’, // etc. } 到现在为止还挺好。 但是在从数据库返回的DataTable中,列值是System.Data.SqlTypes.SqlString实例。 显然有一些问题从C#字符串(甚至是C#字符)转换为C#字节(因为C#char实际上是UTF-16代码点)。 但在这种情况下,我知道值被约束为一个小集合,如果此集合之外的值通过,代码应抛出exception。 考虑到这一点,这样做的最佳方法是什么? 从SqlString转换为字节是否安全? Convert.ToByte()会更好吗? 简单地使用开关/案例构造将值交叉到枚举中会更好吗? 我正在寻找“最好”的方法,不仅在获得正确的结果方面,而且在代码清晰度方面。 我想我也可以使用一些常量 public const char UnknownStatus = ‘U’; public const char FailureStatus = ‘F’; 但如果可能的话,我宁愿使用枚举。 有什么想法吗? 编辑:为了澄清我想要做什么,我希望在我的代码中经常使用这些值。 例如,我希望能够做到这样的事情: public void DoSomething(StatusCode currentStatus) { if(currentStatus == StatusCode.Failure) { […]

如何在流中使用ICSharpCode.ZipLib?

我对保守的头衔和我的问题本身感到非常抱歉,但我迷路了。 ICsharpCode.ZipLib提供的示例不包括我正在搜​​索的内容。 我想通过将其放入InflaterInputStream(ICSharpCode.SharpZipLib.Zip.Compression.Streams.InflaterInputStream)来解压缩byte [] 我找到了解压缩function,但它不起作用。 public static byte[] Decompress(byte[] Bytes) { ICSharpCode.SharpZipLib.Zip.Compression.Streams.InflaterInputStream stream = new ICSharpCode.SharpZipLib.Zip.Compression.Streams.InflaterInputStream(new MemoryStream(Bytes)); MemoryStream memory = new MemoryStream(); byte[] writeData = new byte[4096]; int size; while (true) { size = stream.Read(writeData, 0, writeData.Length); if (size > 0) { memory.Write(writeData, 0, size); } else break; } stream.Close(); return memory.ToArray(); } 它在行引发exception(size = […]

mscorlib.dll中出现’System.ArgumentOutOfRangeException’类型的第一次机会exception

我是c#客户端和服务器应用程序的新手,我正在处理文件上传客户端和服务器应用程序。 我可以从客户端应用程序成功将我的文件名和文件数据上传到服务器。 但是当我尝试实现一个新的文本框,允许文件上传客户端输入他/她的名字,并在他/她点击发送按钮时将信息与文件名和文件数据一起发送。 客户申请。 /* file name and file length */ byte[] fName = Encoding.UTF8.GetBytes(fileName); byte[] fNameLen = BitConverter.GetBytes(fileName.Length); // length of file name clientData = new byte[4 + fileName.Length]; System.Diagnostics.Debug.WriteLine(“fName ” + fName.Length); System.Diagnostics.Debug.WriteLine(“fNamelen ” + fNameLen.Length); fNameLen.CopyTo(clientData, 0); fName.CopyTo(clientData, 4); /* author name and author name length */ byte[] aName = Encoding.UTF8.GetBytes(textBox2.Text); byte[] […]

使用c#将结构中的字节写入文件

大家,早安! 我在这里遇到了一个新问题。 我必须写下一个来自我在sistem中声明的结构的数据。 我创建的结构只有两个字段,我用它来稍后将其转换为字节。 [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 1)] public struct MyStructData { public short Id; [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 20)] public string Name; } 我用以下代码转换这个结构的字节: private byte[] getBytes(MyStructData aux) { int length = Marshal.SizeOf(aux); IntPtr ptr = Marshal.AllocHGlobal(length); byte[] myBuffer = new byte[length]; Marshal.StructureToPtr(aux, ptr, true); Marshal.Copy(ptr, myBuffer, 0, length); Marshal.FreeHGlobal(ptr); return myBuffer; […]

将interop对象的Word转换为byte 而不保存物理

我在内存中使用Microsoft.Office.Interop和Microsoft.Office.Word以及所有创建的,段落,表格等创建了一个对象。 我需要这个对象生成一个内容byte []来为表中的一个相同类型的字段提供信息。 我无法以任何方式使用oDoc.Save(“path”)以任何方式保存它以便使用FileStream并解决我的问题。 尝试了几种解决方案以及如何使用剪贴板,并没有奏效。 有解决方案吗

将文件上载到文件服务器

使用下面的链接,我为我的应用程序编写了一个代码。 我无法做到正确,请参考链接并帮助我使用它… 使用webclient类将文件上载到文件服务器 以下是我的代码: – protected void Button1_Click(object sender, EventArgs e) { filePath = FileUpload1.FileName; try { WebClient client = new WebClient(); NetworkCredential nc = new NetworkCredential(uName, password); Uri addy = new Uri(“\\\\192.168.1.3\\upload\\”); client.Credentials = nc; byte[] arrReturn = client.UploadFile(addy, filePath); Console.WriteLine(arrReturn.ToString()); } catch (Exception ex) { Console.WriteLine(ex.Message); } } 我还使用过: – File.Copy(filePath,“\\ 192.168.1.3 \ […]