Нет такой вещи как вывод AnsiString - каждый текстовый файл имеет кодировку символов . В тот момент, когда ваши файлы содержат символы вне диапазона ASCII, вы должны подумать о кодировке, поскольку даже загрузка этих файлов в разных странах приведет к разным результатам - если только вы не используете кодировку Unicode.
Если вы загружаете текстовый файл, вам нужно знать, какая у него кодировка. Для таких форматов, как xml или html эта информация является частью текста, для Unicode существует BOM , хотя это не является строго обязательным для файлов в кодировке UTF-8.
Преобразование приложения в Delphi 2009 - это возможность подумать о кодировании текстовых файлов и исправить ошибки прошлого. Файлы данных приложения часто имеют более длительный срок службы, чем сами приложения, поэтому стоит задуматься о том, как сделать их ориентированными на будущее и универсальными. Я бы предложил использовать UTF-8 в качестве кодировки текстовых файлов для всех новых приложений, поэтому перенос приложения на разные платформы прост. UTF-8 - лучшая кодировка для обмена данными, а для символов в диапазоне ASCII или ISO8859-1 он также создает файлы гораздо меньшего размера, чем даже UTF-16 или UTF-32.
Если ваши файлы данных содержат только символы ASCII, то вы все настроены тогда, так как они также являются действительными файлами в кодировке UTF-8. Если ваши файлы данных имеют кодировку ISO8859-1 (или любую другую фиксированную кодировку), используйте соответствующее преобразование, загружая их в списки строк и сохраняя их обратно. Если вы заранее не знаете, какую кодировку они будут иметь, спросите пользователя при загрузке или укажите настройки приложения для кодировки по умолчанию.
Используйте строки Unicode для внутреннего использования. В зависимости от объема данных, которые вам нужно обработать, вы можете использовать строки в кодировке UTF-8.