HukpoFuJl
AццkuЙ HukpoFuJl
- Сообщения
- 98
- Репутация
- 38
Убираю я ВСЕ "0х" из получившейся СТРОКИ, т.к. $sRecv &= $sCurrentRecv - это уже строка, а её вид, после завершения цикла становится таким: "0хДАННЫЕ0хЕЩЕДАННЫЕ0хСЛЕДУЮЩИЕДАННЫЕ", а потом добавляю 0х в начало, для того, чтобы преобразовать эту строку в бинарный вид (Binary("0хДАННЫЕЕЩЕДАННЫЕСЛЕДУЮЩИЕДАННЫЕ")) Ничего при этом не теряю (возможно должен потерять, но не теряю), т.к. скрипт под спойлером - работает...SyDr сказал(а):Вот скажи мне, непонятливому, зачем ты сначала преобразуешь полученные бинарные данные (флаг - единичка) в строку, потом убираешь из этой строки 0x, затем добавляешь к этой строке 0x, после чего преобразуешь её обратно в бинарные данные? Кстати, насколько я знаю, в AutoIt строки являются Null-terminated String. В таком случае естественно, что ты теряешь всё, что идёт после 0x00
Сразу отвечу ещё на пару вопросов, возникших на конфе:
$stringBin = BinaryToString($sRecv)
Бинарные данные конвертирую в строку для того, чтобы отделить заголовок от самой структуры файла.
Файл открываю НЕ в бинарном режиме, т.к. и ПИШУ я в него НЕ бинарные данные, а записываю уже отконвертированную и очищенную от заголовков ответа СТРОКУ.
Спасибо Kaster'у за некоторые идеи, сейчас буду пробовать их реализовывать...