bormant писал(а):вы упоминали SDK, давайте ссылку, хватит уже резать собачий хвост кусочками.
SDK вот здесь, его предоставил добрый Padre_Mortius см. во второй записи: http://freepascal.ru/forum/viewtopic.php?f=27&t=8913
Я почти уже разгадал... Вы мне правильно давали этот "Ваш" Hex... а я неправильно интерпретировал Ваши советы и примеры...
Думал о другом и принимал ложные решения. Только SDK большой и тяжёлый, решение много проще.
.
Добавлено спустя 5 минут 34 секунды:
Это как то связано с IEEE, очевидно с IEEE 754 в смысле числа с плавающей точкой.
Ещё эти числа вот так могут выглядеть в Hex редакторе:
00020100 5245464C 00020033 5452414E ....REFL...3TRAN (ура я теперь знаю что такое Hex редактор )
00020100 - наверно это нужно поделить вот так:
00,02,01,00 - соответственно это будет равнозначно записи data = (0,2,1,0) из примера википедии
и в каждой ячейке могут быть цифры от 0 до 255 т.к. PByteArray ...
Это судя по всему и есть одно деление из вышеприведённой строки Hex редактора => 00020100 либо 5245464C либо 00020033 либо 5452414E
Вот такое число 5452414E в Hex редакторе, это будет data = (85,82,65,78) <== Правильно?
В смысле я попытался привести это к десятичной системе, а там если я правильно понимаю 16-я система, т.к. PByteArray? <== Правильно?
Хотя нет... там какая-то другая система, т.к. буквы выводятся нормально, а к Hex 16-й системе приводится вот так:
SomeChar := HD[M shr 4] + HD[M[i] and $F]; где const HD: array [0..$F] of char = '0123456789ABCDEF'; <== Правильно?
[i]Что-то мне подсказывает, что у многих с этого форума, при прочтении этого топика будут слёзы от смеха...
.
Добавлено спустя 1 час 57 минут 18 секунд:
В общем у меня получилось вот так:
- Код: Выделить всё
0 => 49 4D 41 50 IMAP
4 => 00 2A 80 00 <=== вот это как привести к числу IEEE с плавающей точкой? (если это число с плавающей точкой)
8 => 43 48 41 4E CHAN
16 => 4C 52 4F 50 LROP
32 => 45 4E 41 42 ENAB
40 => 4E 45 47 41 NEGA
48 => 54 4D 41 50 TMAP
Судя по всему вышеприведённый текст, это то, что я искал, тут 4E 45 47 41 - это в 16-Hex, а NEGA - это вывод без декодирования.
А вот ниже приведенный текст, как привести к числам или точнее:
как узнать где там integer, a где float, а где вообще byte???
Существует какой-то IEEE разделитель/стандарт?
- Код: Выделить всё
80 => 3F 80 00 00 ?? - это никак не определилось....
92 => 00 00 52 4F ..RO <== начало слова
96 => 54 41 00 0E TA.. <== конец слова - есть какие-то стандарты чтения?
216 => 00 01 3F 80 .... и это никак не определилось....
Есть какая-то стандартная система перевода шестнадцатеричных Hex в десятеричные: integer, float, byte???
Имеется ввиду система разделения между символами?
Как система отличает число от буквы?
Как система IFF отличает число от числа с плавающей точкой или иной информацией?
.