Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
05.07.2011, 10:37
|
|||
---|---|---|---|
Расшифровать/преобразовать байты, полученные через MSWinSock |
|||
#18+
Через Activе-X MSWinSock получил на клиента сообщение (последовательность байт). Первые 4 байта последовательности- длина сообщения. Как эти 4 байта преобразовать в десятичный тип? Например, пришло 00 00 00 11 00 45 68 и т.д. Пробовал так (используя пример с форума- функцию BinDecHex2Dec): Код: plaintext 1. 2. 3. 4.
Возможно, байты нужно преобразовать в строку? Как это сделать? При этом, команда: Код: plaintext
пишет в файл 00 00 00 11. Народ, помогите преобразовать! ... |
|||
:
Нравится:
Не нравится:
|
|||
|
16.07.2011, 15:29
|
|||
---|---|---|---|
Расшифровать/преобразовать байты, полученные через MSWinSock |
|||
#18+
Если еще нужен совет, то в случае, если выражение не превышает 4 байт, то вообще ничего преобразовывать не надо. FoxPro и так все поймет, если просто добавить специальный префикс "0x" (ноль и латинская буква) к символьной строке Код: plaintext
В данном случае этот префикс означает, что далее идет число в 16-ричной системе исчисления. Через переменные это будет выглядеть так Код: plaintext 1. 2.
Правда, дополнительная проблема заключается в том, что, как правило, числа записываются не слева-направо, а наоборот, справа-налево. Поэтому вместо простого "прямого" чтения, приходится читать по одному символу за раз, переводить символ в 10-чную систему и умножать на степень числа 256. Вполне возможно, что неизвестная функция BinDecHex2Dec() именно это и делает. Поскольку что это за функция - не известно, и что означает фраза "не работает" - тоже не понятно, то и посоветовать что-то вразумительное - невозможно. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
|
start [/forum/topic.php?fid=41&mobile=1&tid=1584265]: |
0ms |
get settings: |
10ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
44ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
44ms |
get tp. blocked users: |
2ms |
others: | 14ms |
total: | 151ms |
0 / 0 |