Форум: "Потрепаться";
Текущий архив: 2005.06.06;
Скачать: [xml.tar.bz2];
Вниз
Здравствуйте. Подсобите расшифровать метод запаковки 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 вся ветка
Форум: "Потрепаться";
Текущий архив: 2005.06.06;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.011 c