Tag: 字节

C#中的OR-ing字节给出了int

我有这个代码。 byte dup = 0; Encoding.ASCII.GetString(new byte[] { (0x80 | dup) }); 当我尝试编译时,我得到: 无法将类型’int’隐式转换为’byte’。 存在显式转换(您是否错过了演员?) 为什么会这样? 不应该| 两个字节给一个字节? 以下两项工作,确保每个项目都是一个字节。 Encoding.ASCII.GetString(new byte[] { (dup) }); Encoding.ASCII.GetString(new byte[] { (0x80) });

C# – 将hex值的字符串转换为hex

这可能听起来很奇怪,但我的问题是我有一个文本文件中的hex值的文本字符串,如下所示: “0x0f, 0x40, 0xff, ….” 我已将它们存储在由分隔符拆分的数组中,但我现在需要做的是使用hex的字节数组: stringArray[0] = “0x0f”; byteArray[0] = 0x0f; 我该怎么做(用户可以加载文本文件,所以我不知道值是什么),我可以使用某种算法吗?

如何将位转换为字节?

我有一个128个布尔值的数组,代表位。 如何将这128位表示转换为16字节? 例: 我有一个看起来像这样的数组: 0110001100110000100010111011001011010011010001010001101101001100 1000010000000000001000111111111101000011111001111011111011111001 (转换为1和0更简洁) 我需要将这些位转换为以下字节数组: 99 48 139 178 211 69 27 76 132 0 35 255 67 231 190 249 编辑:这似乎不起作用: public byte[] ToByteArray() { int numBytes = Count / 8; if (_bits.Count % 8 != 0) numBytes++; byte[] bytes = new byte[numBytes]; int byteIndex = 0, bitIndex = 0; for […]

从字节数组运行程序

我有一个存储在字节数组中的程序。 是否有可能在C#中运行它?

在C#中搜索字节数组中的最长模式

我需要编写有效且快速的方法来搜索给定模式的字节数组。 我这样写,你怎么想,怎么改进? 它有一个bug,它不能返回长度为1的匹配。 public static bool SearchByteByByte(byte[] bytes, byte[] pattern) { bool found = false; int matchedBytes = 0; for (int i = 0; i = pattern.Length) { for (int j = 1; j < pattern.Length; j++) { if (bytes[i + j] == pattern[j]) { matchedBytes++; if (matchedBytes == pattern.Length – 1) { return true; […]

c#中从hex到字节的大多数轻量级转换?

可能重复: 如何将字节数组转换为hex字符串,反之亦然? 我需要一种有效而快速的方法来进行这种转换。 我尝试过两种不同的方式,但对我来说效率不高。 对于具有大量数据的应用程序,是否有任何其他快速方法可以实时完成此操作? public byte[] StringToByteArray(string hex) { return Enumerable.Range(0, hex.Length / 2).Select(x => Byte.Parse(hex.Substring(2 * x, 2), NumberStyles.HexNumber)).ToArray(); } 上面的一个对我来说更有效率。 public static byte[] stringTobyte(string hexString) { try { int bytesCount = (hexString.Length) / 2; byte[] bytes = new byte[bytesCount]; for (int x = 0; x < bytesCount; ++x) { bytes[x] = Convert.ToByte(hexString.Substring(x […]

为什么C#中的字节减法需要强制转换?

我必须使用WinForms在VS2008 .net 3.5中使用以下代码: byte percent = 70; byte zero = 0; Bitmap copy = (Bitmap)image1.Clone(); … Color oColor = copy.GetPixel(x, y); byte oR = (byte)(oColor.R – percent < zero ? zero : oColor.R – percent); 当我离开最后一行代码的“ (byte) ”时,我得到一个编译器错误,说它“不能隐式地将类型’ int ‘转换为’ byte ‘。” 如果一切都是byte类型而byte是一个整数类型…那么为什么我需要进行强制转换呢?

字节数组到位图图像

我制作此代码以接收图像并将其转换为位图图像,但它不起作用。 这是代码: public void ReceiveImage() { NetworkStream stream = new NetworkStream(socket); byte[] data = new byte[4]; stream.read(data,0,data.length,0) int size = BitConverter.ToInt32(data,0); data = new byte[size]; stream.read(data,0,data.length) MemoryStream imagestream = new MemoryStream(data); Bitmap bmp = new Bitmap(imagestream); picturebox1.Image = bmp; } 它得到: Bitmap bmp = new Bitmap(imagestream); 并给我这个错误: 参数无效