| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Общие вопросы > Создать файл имея двоичный текст |
| Автор: naz191 26.11.2010, 08:19 | ||
| Есть у меня содержание одной картинки в виде hex (ну и bin - перевел). Содержание вытащил из картинки и перевел в текст в виде hex Пробую "собрать" файл... только вот создает файл текстовой - т.е. Я ввожу в мемо код (hex, bin). По идее прога должна конвертировать его в Нормальный рабочий *.png. В место этого получаю тот же текст только в *.png и в результате *.png не читабелен (((
В чем моя ошибка? Ну или подсказку? |
| Автор: Snowy 26.11.2010, 13:30 |
| Не понятно. Покажи кусок текста. |
| Автор: imageman 29.11.2010, 10:34 |
| подозреваю, что memo1.Text не может содержать все 256 символов (с кодами от 0 до 255). Если в memo1 строка типа '012abc', то её ещё нужно сконвертировать. А вообще, действительно, нужно посмотреть пример строки |
| Автор: naz191 30.11.2010, 09:00 | ||||||
Вот кусочки... первый в Hex
Второй двоичный
|
| Автор: imageman 30.11.2010, 16:40 |
| отсюда http://sources.ru/delphi/algorithms/hextoint_inttobin_bintoint.shtml взять преобразователь 16в10 систему счисления пары цифр (0d) прогонять через нее и прибавлять к строке. т.е. что-то вроде var s:AnsiString; s:=s+chr( HexToInt('0d') ); а потом строку s писать в файл как ты хотел (надеюсь не попутал ничего) |
| Автор: RinOSpro 2.12.2010, 15:20 | ||
Для Hex:
|
| Автор: remax 3.12.2010, 02:47 |
| В принципе, в Delphi уже есть готовая функция HexToBin. function HexToBin(Text, Buffer: PChar; BufSize: Integer): Integer и обратная ей процедура BinToHex procedure BinToHex(Buffer, Text: PChar; BufSize: Integer); и живут они в Classes |
| Автор: remax 3.12.2010, 14:54 | ||||
такое же самое отношение, что и HexToInt, на который ссылается imageman. Только это стандартная функция и немного более функциональная.... Да, для того чтобы использовать надо сперва пробелы убрать, например так: HexStr := StringReplace(HexStr, ' ', '', [rfReplaceAll]); Ну, а дальше уже дело техники... |