Tag: hex

如何将单独的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] = […]

用于Hex的BitConverter VS ToString

只是想知道是否有人可以解释为什么以下两行代码会返回“不同”的结果? 是什么导致了反转的价值? 这与字节序有关吗? int.MaxValue.ToString(“X”) //Result: 7FFFFFFF BitConverter.ToString(BitConverter.GetBytes(int.MaxValue)) //Result: FF-FF-FF-7F

两个hex字节数组的XOR函数

我试图执行独占或两个字节数组并将结果作为hex字符串返回。 我已将两个字节数组转换为相应的二进制字符串。 每个字节都有位,因为它有8个字节。 byte[] key = { 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18 }; byte[] PAN = { 0x12, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x23 }; 到目前为止,我已经使用了一种方法,将字节数组转换为相应的二进制字符串值,例如“10101010101”。 然而,当我执行以下方法来获得XOR时,我将返回一串笑脸,这可能是一些特殊的ASCII字符。 但是,我对如何做到这一点没有任何想法。 我想将二进制字符串转换为整数,但这不是一个好的解决方案,因为它不适合作为整数。 请问您有什么想法吗? 可能有一些示例代码? public static string exclusiveOR(string string_1, string string_2) { StringBuilder sb = new StringBuilder(); for (int i = 0; i < […]

将哈希值转换为hex字符串

在本页面: http://www.shutterfly.com/documentation/OflyCallSignature.sfly 它说,一旦你生成一个哈希你然后: 将哈希值转换为hex字符串 csharp中有代码可以做到这一点吗?

替换C#中的特定hex偏移量

我如何用C#替换二进制文件中特定hex偏移的内容? 为了使它更清楚,让我说我的偏移量是0x33347,它的内容是06.我想将06改为17.我该怎么做? 我对hex编辑的经验很少,所以我真的无法弄明白自己,我有点失落。

用C#中的“Unit Separator”(0x1f)替换平面文件中的制表符(“\ t”)

我一直无法找到“单位分隔符”的元字符来替换平面文件中的选项卡。 到目前为止我有这个: File.WriteAllLines(outputFile, File.ReadLines(inputFile) .Select(t => t.Replace(“\t”, “\0x1f”))); //this does not work 我也尝试过: File.WriteAllLines(outputFile, File.ReadLines(inputFile) .Select(t => t.Replace(“\t”, “\u”))); //also doesn’t work 和 File.WriteAllLines(outputFile, File.ReadLines(inputFile) .Select(t => t.Replace(“\t”, 0x1f))); //also doesn’t work 如何正确使用hex作为参数? 另外,“单位分隔符”的元字符是什么?

函数将hex字符串转换为BitArray C#

我创建了以下函数,它将按要求执行(将HEX字符串转换为BitArray)。 我不确定函数的效率,但我现在的主要问题是Convert.ToInt64函数是特定于endian的 。 当这被移植到备用芯片组时,我们将得到不同的结果(或例外)。 所以有人可以想到另一种方法来进行这种转换??? public BitArray convertHexToBitArray(string hexData) { string binary_values = “”; BitArray binary_array; if (hexData.Length <= "FFFFFFFFFFFFFFFF".Length) // Max Int64 { binary_values = Convert.ToString(Convert.ToInt64(hexData, 16), 2); binary_array = new BitArray(binary_values.Length); for (int i = 0; i < binary_array.Length; i++) { if (binary_values[i] == '0') { binary_array[i] = false; } else { binary_array[i] […]

用RegEx重写IsHexString方法

我有一个方法来检查 字符串是否是有效的hex字符串 : public bool IsHex(string value) { if (string.IsNullOrEmpty(value) || value.Length % 2 != 0) return false; return value.Substring(0, 2) == “0x” && value.Substring(2) .All(c => (c >= ‘0’ && c = ‘a’ && c = ‘A’ && c <= 'F')); } 规则是: 表达式必须由偶数个hex数字组成( 0-9,AF,af )。 字符0x必须是表达式中的前两个字符 。 我敢肯定它可以用更清洁,更有效的方式重写正则表达式 。 你可以帮帮我吗?

C#串口读取HEX数据

我正在编写一个C#应用程序,同时从多个串行COM端口读取数据,以分析IPOD的数据通信。 发送的数据需要解释为HEX字节。 例如, 0xFF 0x55 0x01 0x00 0x04 0xC3 0xFF 0x55 … 我希望能够阅读此内容并将其显示在富文本框中 0xFF 0x55 0x01 0x00 0x04 0xC3 0xFF 0x55 … 命令的开头包括一个标题(0xFF 0x55),其余的是命令+参数+校验和。 最好的方法是什么? 我目前有: private delegate void SetTextDeleg(string text); void sp_DataReceivedRx(object sender, SerialDataReceivedEventArgs e) { Thread.Sleep(500); try { string data = IPODRxPort.ReadExisting(); // Is this appropriate?? // Invokes the delegate on the UI […]

DEP0600部署UWP项目时出错

在Visual Studio(社区2015 Update 3)崩溃部署带有蓝屏的UWP项目(意外的存储exception,之前发生过这种情况)之后,我再也无法部署任何项目了。 我尝试使用VS项目崩溃,该项目的先前版本以及完全清空的新项目。 错误消息如下: DEP0600:部署期间发生以下意外错误: ‘。’,hex值0x00,是无效字符。 第1行,第1位。 修复Visual Studio没有任何区别。 我找不到问题,但假设在崩溃期间有些东西被破坏了。 完全重新安装VS会不仅仅是修理? 这甚至可能需要更激烈的步骤吗? 谢谢, 莱因霍尔德