Вниз
Скачать: CL | DM;

Здравствуйте. Подсобите расшифровать метод запаковки 3х чисел...   Найти похожие ветки 

← →
Layner ©   (2005-05-19 16:43) [0]

приходят данные такого вида, 106.489998, 1.824010 и 131.000000 а в пакете, перехваченным снифером, в это же время, такой пакет
начало
24 01 00 24 02 00 24 03 00 E1 FA D4 42 29 79 E9 3F 00 00 03 43
конец
16ти ричные значения выделенные Жирным и Курсором это говорится что приходит 3 числа. (как я понял) Сами числа идут в конце пакета. Но идут они в "сжатом" виде. Сколько я не пытался прочитать простым способом, никак не выходит. Можно ли как нибудь запаковать 3 цифры выше приведенные, в такое кол-во байт, что идет после жирного и курсора? И так же распокавать.

Пакет данных именно такой, и цифры приходят именно такие, ничего недосказанного нет, все отследил в 1 момент. (Заголовки TCP/IP есно выкинул).


← →
Layner ©   (2005-05-19 16:49) [1]

Т.е. 12 последних байт и есть данные, и видимо по 4 байта на число. Например, число 131 они запаковали как 00 00 03 43, хотя перевод в HEX туда сюда ничего похожего не дают.

PS. Программулина по обмену данными на предприятии. Все готово написать своего клиента, кроме как слать данные, не могу понять, как они шлют :(


← →
wal ©   (2005-05-19 16:52) [2]

Может это single обычный? Проверь, мне лень.

С уважением.


← →
Alx2 ©   (2005-05-19 16:53) [3]

Обычный single едет.

procedure TForm1.Button4Click(Sender: TObject);
var D: Single;
begin
 Integer((@D)^) := $42D4FAE1;  // E1 FA D4 42  - только "наоборот"
 ShowMessage(FloatToStr(D)); // Видим, что D = 106.48999786377
end;


← →
raidan ©   (2005-05-19 16:54) [4]

Ар, опоздал :)
действительно, single (на 4 байта только он)


← →
Layner ©   (2005-05-20 08:26) [5]

Точно! Всем спасибо, особенно Alx2 ©   (19.05.05 16:53), за код, с указателями я не очень, теперь ещё в это вникну, что и для чего.



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.028 c
3-1114643747
Димон
2005-04-28 03:15
2005.06.06
не запускается Oracle Net8 Easy Config


5-1086026239
klyonov
2004-05-31 21:57
2005.06.06
Мерцание, будь оно неладно!


4-1113407396
Klopan
2005-04-13 19:49
2005.06.06
Как поймать WM_SYSCOMMAND в системе?


4-1113325359
DeScriptor
2005-04-12 21:02
2005.06.06
Выбор одной из одинаковых компонент


6-1111410897
redlord
2005-03-21 16:14
2005.06.06
работа в блокированном режиме




   Наверх