FileToString

From SunFlurry wiki
Jump to: navigation, search
  FileToString (Функции работы со строками)
Статус разработки: Реализована
Тип:Функция
Обращение к БД:Нет
Исключения:Невозможно превратить в строку, число, не найден файл, невозможно прочитать файл
Визуальность:Нет

Функция загружает указанный файл в строку, используя указанную кодовую страницу. Результирующая строка будет перекодирована в UTF-16, если кодовая страница равна нулю и присутвует BOM или больше нуля.

Примеры кодов некоторых кириллических и прочих кодировок:

  • 0 -- ANSI (текущая системная кодировка)
  • 866 -- Кириллица OEM
  • 1200 -- UTF-16LE (стандарное многобайтовое строковое представление в системе)
  • 1201 -- UTF-16BE (стандарное многобайтовое строковое представление в системе, с переставленными местами байтами)
  • 1251 -- Кириллица Windows
  • 1252 -- Стандартная латинская кодировка Windows (латиница-1)
  • 20866 -- Кириллица KOI-8
  • 65000 -- UTF-7
  • 65001 -- UTF-8

Синтаксис

FileToString(<Имя файла>,<Кодовая страница (INT)>=0):<Результат (STRING)>

Аргументы

  • <Имя файла> - Аргумент, строковое представление которого будет представлять имя файла в нотации системы.
  • <Кодовая страница (INT)> - (необязательный аргумент) Аргумент, который представляет кодовую страницу из которой будет перекодировано содержимое файла. Аргумент имеет два особенных значения:
    • 0 (по умолчанию) -- результирующая строка будет в формате ANSI, файл будет загружен без перекодирования, однако, система будет проверять наличие BOM, и, при его наличии, осуществит загрузку в кодировке, указанной BOM, при этом результат будет уже UTF-16 строкой.
    • -1 -- безусловно загружает файл в строку ANSI без какой-либо перекодировки.
    • Любое другое значение вызовет перекодировку файла в UTF-16 после загрузки.

Возвращаемое значение

Функция возвращает строку ANSI или UTF-16 в зависимости от аргументов вызова функции.

Примеры

//Загружаем файл "как есть" с локального диска, выводим в лог
Message(FileToString("C:\file.txt",-1));

//Загружаем файл в кодировке UTF-8 с сервера, выводим в лог
Message(FileToString("Modules\FreeForms\TestForm\file.txt",65001));