BaRsupillamy
Новичок
- Сообщения
- 58
- Репутация
- 0
Есть у меня файл. Это сертификат открытого ключа. Его надо скопировать, пропустив через чтение файла. Т.е. не просто копировать файл, а открыть, прочитать и записать. Причём построчно читать - это обязательное условие.
Так вот в этом файле символы перевода строки чередуются непонятным образом. То появляется 0х0А(@LF), то 0х0D(@CR). Я читаю файл с помощью FileReadLine(). Как написано в хелпе, она автоматом удаляет конец строки. Потом я дописываю @CR, пишу файл. Файлы старый и новый сравниваю. как текстовые с помощью ALT+C в Тотал Командере, он показывает что они одинаковые. А при побайтном сравнении у меня кое-где отличаются файлы. В исходнике кое-где @LF, а я записал на его месте @CR. Ну и соответственно, если я дописываю в конце строки @LF, то при побайтном сравнении в исходнике остались @CR, ая на их место вписал @LF. И в итоге сертификат не соответствует исходному, хотя и очень похож, кое каких данных в нём не видно.
Помогите придумать, как узнавать, какой символ в конце строки стоял и восстанавливать его.
Пока пытаюсь прочитать файл, открыв его с флагом 16 - Принудительно использовать бинарный режим, но и здесь как то мало что получается.
Спасибо.
Вот почитал, сейчас попробую StringSplit'ом разбить...
Сам для себя тут попишу, чтобы мысли упорядочить. Просто на самом деле работаю с другим файлом, внутри которого есть сертификат, и мне его надо вытащить. Я это сделал посчитав посимвольно, где он начинается и где заканчивается.
Если файл разбить через @CRLF, то получаем 38 строк - вот из этих 38 я точно знаю, где находятся нужные мне данные - со 112 символа 17 строки и до предпоследней строки без последнего символа (файлы разные и количество строк бывает разным).
Если файл разбить через @LF, то получим 21 строку.
Если файл разбить через @CR, то получим 18 строк.
Так вот в этом файле символы перевода строки чередуются непонятным образом. То появляется 0х0А(@LF), то 0х0D(@CR). Я читаю файл с помощью FileReadLine(). Как написано в хелпе, она автоматом удаляет конец строки. Потом я дописываю @CR, пишу файл. Файлы старый и новый сравниваю. как текстовые с помощью ALT+C в Тотал Командере, он показывает что они одинаковые. А при побайтном сравнении у меня кое-где отличаются файлы. В исходнике кое-где @LF, а я записал на его месте @CR. Ну и соответственно, если я дописываю в конце строки @LF, то при побайтном сравнении в исходнике остались @CR, ая на их место вписал @LF. И в итоге сертификат не соответствует исходному, хотя и очень похож, кое каких данных в нём не видно.
Помогите придумать, как узнавать, какой символ в конце строки стоял и восстанавливать его.
Пока пытаюсь прочитать файл, открыв его с флагом 16 - Принудительно использовать бинарный режим, но и здесь как то мало что получается.
Спасибо.
Вот почитал, сейчас попробую StringSplit'ом разбить...
Сам для себя тут попишу, чтобы мысли упорядочить. Просто на самом деле работаю с другим файлом, внутри которого есть сертификат, и мне его надо вытащить. Я это сделал посчитав посимвольно, где он начинается и где заканчивается.
Если файл разбить через @CRLF, то получаем 38 строк - вот из этих 38 я точно знаю, где находятся нужные мне данные - со 112 символа 17 строки и до предпоследней строки без последнего символа (файлы разные и количество строк бывает разным).
Если файл разбить через @LF, то получим 21 строку.
Если файл разбить через @CR, то получим 18 строк.