我目前使用。
这是我将它们格式化的一些输出,它们都像这样在一起。
E14802000003FA00014C0000031501A8
currentAttackCount := StrToInt('$' + Copy(CurHex, 17, 4));
Log('Packet = ' + CurHex + ' Count = ' + IntToStr(currentAttackCount) + ' STR = ' + '$' + Copy(CurHex, 17, 4));
格式化输出
数据包 = E1 48 02 00 00 03 FA 00 [01 4C] 00 00 03 15 01 A8 [计数 = 76] [STR = $014C]
数据包 = E1 48 02 00 00 03 FA 00 [01 4D] 00 00 03 15 02 26 [计数 = 77] [STR = $014D]
数据包 = E1 48 02 00 00 03 FA 00 [01 4F] 00 00 03 15 02 26 [计数 = 79] [STR = $014F]
如您所见,STR
输出是STR = $014C
代码:'STR = ' + '$' + Copy(CurHex, 17, 4));
现在如果你看StrToInt
currentAttackCount := StrToInt('$' + Copy(CurHex, 17, 4));
它几乎相同STR
所以不应该$014C
也0x014C
被表示为332
而不是76
76
似乎来自$4C
又名为什么它忽略第一个十六0x4C
进制字符$014C
2