Внезапно столкнулся со странной проблемой.
Есть текстовый файл, судя по Notepad++, в кодировке ANSI.
В этом файле много каких-то данных, среди которых часто попадаются управляющие символы, BEL, SUB, SOH, а также NUL.
В конце первой же строки находится последовательность BEL SUB SOH.
При попытке прочитать файл стандартным методом
- Код: Выделить всё
while not EoF do ReadLn(TF, s);
Читается только 1 строка. И всё. Если считывать файл через TStringList, то читается гораздо больше строк, но опять встаёт, теперь уже на последовательности из NUL.
Зато если конвертировать файл тем же Notepad++ в UTF8, то файл читается полностью на "ура".
Никогда такого не видел. Возможно, здесь что-то банальное, но я не могу понять, как с этим бороться.
Есть идеи?

Добавлено спустя 2 минуты 56 секунд:
P. S. Ну и да, если все "лишние" символы убрать из файла вручную, то тоже проблема исчезает.