Вниз
Скачать: 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.022 c
14-1116520307
totti
2005-05-19 20:31
2005.06.06
Программирование математических приложений


11-1098482343
Nix
2004-10-23 01:59
2005.06.06
KOLEcmListEdit


1-1116589938
juice
2005-05-20 15:52
2005.06.06
Как реализовать закрытие многопоточного приложения ?


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


6-1111443454
Villi.GPInet
2005-03-22 01:17
2005.06.06
Команда LIST протокола FTP




   Наверх