|
Расшифровать/преобразовать байты, полученные через 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. Народ, помогите преобразовать! ... |
|||
:
Нравится:
Не нравится:
|
|||
05.07.2011, 10:37 |
|
Расшифровать/преобразовать байты, полученные через MSWinSock
|
|||
---|---|---|---|
#18+
Если еще нужен совет, то в случае, если выражение не превышает 4 байт, то вообще ничего преобразовывать не надо. FoxPro и так все поймет, если просто добавить специальный префикс "0x" (ноль и латинская буква) к символьной строке Код: plaintext
В данном случае этот префикс означает, что далее идет число в 16-ричной системе исчисления. Через переменные это будет выглядеть так Код: plaintext 1. 2.
Правда, дополнительная проблема заключается в том, что, как правило, числа записываются не слева-направо, а наоборот, справа-налево. Поэтому вместо простого "прямого" чтения, приходится читать по одному символу за раз, переводить символ в 10-чную систему и умножать на степень числа 256. Вполне возможно, что неизвестная функция BinDecHex2Dec() именно это и делает. Поскольку что это за функция - не известно, и что означает фраза "не работает" - тоже не понятно, то и посоветовать что-то вразумительное - невозможно. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.07.2011, 15:29 |
|
|
start [/forum/topic.php?fid=41&gotonew=1&tid=1584265]: |
0ms |
get settings: |
10ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
151ms |
get topic data: |
13ms |
get first new msg: |
8ms |
get forum data: |
2ms |
get page messages: |
48ms |
get tp. blocked users: |
2ms |
others: | 303ms |
total: | 558ms |
0 / 0 |