Tag: bytearray

C#Array子集提取

我有一个字节数组,我想确定这个字节数组的内容是否作为连续序列存在于另一个更大的数组中。 这样做最简单的方法是什么?

将字节数组中的ASCII转换为字符串

我似乎在C#中使用字符串转换时出现问题。 我的应用程序收到一个由ASCII字符串组成的字节数组(每个字符一个字节)。 不幸的是,它在第​​一个位置也有0。 那么如何将这个字节数组转换为ac#string呢? 以下是我要转换的数据示例: byte[] exampleByteArray = new byte[] { 0x00, 0x52, 0x50, 0x4D, 0x20, 0x3D, 0x20, 0x32, 0x35, 0x35, 0x2C, 0x36, 0x30, 0x0A, 0x00 }; string myString = null; 我做了几次不成功的尝试,所以我想请求帮助。 最终我需要将字符串添加到列表框中: listBox.Items.Add(myString); listBox中的所需输出:“RPM = 255,630”(带或不带换行符)。 字节数组的长度可变,但始终以0x00结尾

byte 并通过引用有效传递

因此,这与处理大对象堆并尝试最小化实例化byte []的次数有关。 基本上,我有OutOfMemoryExceptions,我觉得这是因为我们实例化了太多的字节数组。 当我们处理几个文件时,程序工作正常,但它需要扩展,目前它不能。 简而言之,我有一个从数据库中提取文档的循环。 目前,它一次拉一个文档然后处理文档。 文件的范围可以从小于1兆欧卡到400欧元不等。 (因此我为什么一次处理一个)。 以下是伪代码,在我进行优化之前。 所以我正在做的步骤是: 调用数据库以查找最大文件大小(然后将其乘以1.1) var maxDataSize = new BiztalkBinariesData().GetMaxFileSize(); maxDataSize = (maxDataSize != null && maxDataSize > 0) ? (long)(maxDataSize * 1.1) : 0; var FileToProcess = new byte[maxDataSize]; 然后我进行另一个数据库调用,从数据库中提取所有文档(没有数据)并将它们放入IEnumerable中。 UnprocessedDocuments = claimDocumentData.Select(StatusCodes.CurrentStatus.WaitingToBeProcessed); foreach (var currentDocument in UnprocessDocuments) { // all of the following code goes here } […]

如何显示字节数组hex值?

嗨我在c#中创建应用程序。我有包含hex值的字节数组。我想将这些值写入文件而不将其转换为字符串或其他任何内容。请帮助我。谢谢。

从字节数组中创建新的FileStream

我试图从字节数组创建一个新的FileStream对象。 我确信根本没有任何意义,所以我将在下面进一步详细解释。 我正在完成的任务:1)读取先前压缩的源文件2)使用GZipStream解压缩数据3)将解压缩的数据复制到字节数组中。 我想改变什么: 1)我希望能够使用File.ReadAllBytes来读取解压缩的数据。 2)然后我想使用这个字节数组创建一个新的文件流对象。 简而言之,我想使用字节数组完成整个操作。 GZipStream的一个参数是某种类型的流,所以我想我使用了一个文件流。 但是,如果存在一些方法,我可以从字节数组创建一个新的FileStream实例 – 那么我应该没问题。 这是我到目前为止: FolderBrowserDialog fbd = new FolderBrowserDialog(); // Shows a browser dialog fbd.ShowDialog(); // Path to directory of files to compress and decompress. string dirpath = fbd.SelectedPath; DirectoryInfo di = new DirectoryInfo(dirpath); foreach (FileInfo fi in di.GetFiles()) { zip.Program.Decompress(fi); } // Get the stream of […]

如何在C#中将int 转换为byte

如何在C#中将int [,]转换为byte []? 一些代码将不胜感激 编辑: 我需要一个函数来执行以下操作: byte[] FuncName (int[,] Input)

将字节数组复制到C#中的类/结构中的各个字段

在下面的示例C#代码中,我有一个从套接字读取的字节数组。 我想将数据解析为’exampleClass’的各个字段(前8个字节到64位变量’field1’,接下来4个字节到32位变量’field2’等) using System; namespace CsByteCopy { class Program { class ExampleClass { public UInt64 field1; public UInt32 field2; public UInt16 field3; public byte[] field4 = new byte[18]; } static void Main(string[] args) { byte[] exampleData = { // These 8 bytes should go in ‘field1’ 0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07, // These 4 bytes should go in ‘field2’ […]

如何在C#中将字节数组转换为double数组?

我有一个包含双精度值的字节数组。 我想将它转换为双数组。 在C#中有可能吗? 字节数组看起来像: byte[] bytes; //I receive It from socket double[] doubles;//I want to extract values to here 我用这种方式创建了一个字节数组(C ++): double *d; //Array of doubles byte * b = (byte *) d; //Array of bytes which i send over socket

从表列读取二进制到byte 数组

我在我的应用程序中使用PBKDF2来存储用户密码。 在我的Users表中,我有一个Salt和Password列,其确定如下: // Hash the users password using PBKDF2 var DeriveBytes = new Rfc2898DeriveBytes(_Password, 20); byte[] _Salt = DeriveBytes.Salt; byte[] _Key = DeriveBytes.GetBytes(20); // _Key is put into the Password column 在我的登录页面上,我需要检索此盐和密码。 因为它们是byte []数组,所以我将它们作为varbinary(MAX)存储在我的表中。 现在我需要检索它们以与用户输入的密码进行比较。 我怎么用SqlDataReader做到这一点? 目前我有这个: cn.Open(); SqlCommand Command = new SqlCommand(“SELECT Salt, Password FROM Users WHERE Email = @Email”, cn); Command.Parameters.Add(“@Email”, SqlDbType.NVarChar).Value = […]

Postgres bytea列返回字符串(char数组)而不是字节数组

我一直在使用C#为不同数据库的产品编写具体的提供程序实现。 W / out进入细节,其中一列是字节数组类型(postgres中的bytea – 由于首选项bytea是在blob上选择的)。 唯一的问题是,它不会返回插入的相同值。 当我插入Int32(“0”)时,我得到8 [92和8x 48](而不是[0,0,0,0])。 我需要一个性能明智的解决方案,它将返回我插入的纯字节,而不是8个字节上的值“0”的ASCII表示。 我正在使用Npgsql来检索数据。 如果有人知道c#的解决方案,我也很乐意学习它。 编辑: Postgres 9.0,.Net 3.5 简单化 命令查询: – 里面只有一个插入语句 select InsertOrUpdateEntry(:nodeId, :timeStamp, :data) 数据参数: byte [] value = BitConverter.GetBytes((int)someValue); 参数分配如下 command.Parameters.Add(new NpgsqlParameter(“data”, NpgsqlDbType.Bytea) { Value = value }); 选择陈述: select * from Entries 我输入了相同的字节数组,我想回去。 我将衷心感谢您的帮助。 输入:0 0 0 0 电流输出:92 48 48 48 […]