Tag: hex

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 […]

将包含以“0x”开头的hex值的字符串转换为整数或长整数

如何将字符串值“0x310530”转换为C#中的整数值? 我已经尝试过int.TryParse (甚至int.TryParse与System.Globalization.NumberStyles.Any ),但它不起作用。 更新:似乎Convert.ToInt64或Convert.ToInt32工作而不必删除尾随的“0x”: long hwnd = Convert.ToInt64(“0x310530”, 16); Convert.ToInt64 Method (String, Int32)的文档说: “如果fromBase为16,则可以将value参数指定的数字加上”0x“或”0X“前缀。” 但是,我更喜欢像TryParse这样不会引发exception的方法。

C#如何将大型HEX字符串转换为二进制

我有一个包含14个字符的字符串。 这是7字节的hexrepresantation。 我想将其转换为二进制。 我尝试使用Convert.ToString(Convert.ToInt32(hexstring, 16), 2); 对于小字符串,这可以工作,但对于14个字符,它将无法工作,因为结果太大。 我怎么能管理这个? 请记住,转换的输出应该是一个二进制字符串,其长度为56个字符(我们必须保留前导零)。 (例如,(byte)0x01的转换应该产生“00000001”而不是“1”)

将长字符串转换为hexc#

我正在寻找一种将长字符串转换为hex字符串的方法。 二进制字符串看起来像这样的”0110011010010111001001110101011100110100001101101000011001010110001101101011″ 我试过用过 hex = String.Format(“{0:X2}”, Convert.ToUInt64(hex, 2)); 但这只适用于二进制字符串适合Uint64的情况,如果字符串足够长则不会。 有另一种方法将二进制字符串转换为hex? 谢谢

从hex转换为字符串

我需要检查位于数据包内的string ,我将其作为byte数组接收。 如果我使用BitConverter.ToString() ,我将字节作为带有破折号的string (fe:00-50-25-40-A5-FF)。 我尝试了一些快速谷歌搜索后找到的大多数函数,但是大多数函数都有输入参数类型string ,如果我用带有破折号的string调用它们,它会引发exception。 我需要一个函数将hex(作为string或byte )转换为表示hex值的string (fe:0x31 = 1)。 如果输入参数是string ,则该函数应识别破折号(例如“47-61-74-65-77-61-79-53-65-72-76-65-72”),因为BitConverter无法正确转换。