Difference between revisions of "TranslateTo"
m (1 revision imported) |
|
(No difference)
|
Latest revision as of 07:54, 7 February 2021
TranslateTo (Функции работы со строками) | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
|
Функция производит перекодировку строкового представления аргумента из UTF-16 в кодовую страницу, заданную вторым аргументом, при необходимости добавляя BOM.
Примеры кодов некоторых кириллических и прочих кодировок:
- -1 -- В функциях загрузки используется как псевдо-кодировка для отключения проверки BOM, загрузка будет происходить безусловно в строку ANSI без какой-либо перекодировки.
- 0 -- ANSI (текущая системная кодировка). При загрузке в такой кодировке, функции загрузки обычно проверяют наличие BOM, если он есть загружают в соответствии с ним.
- 866 -- Кириллица OEM
- 1200 -- UTF-16LE (стандарное многобайтовое строковое представление в системе)
- 1201 -- UTF-16BE (стандарное многобайтовое строковое представление в системе, с переставленными местами байтами)
- 1251 -- Кириллица Windows
- 1252 -- Стандартная латинская кодировка Windows (латиница-1)
- 20866 -- Кириллица KOI-8
- 65000 -- UTF-7
- 65001 -- UTF-8
Синтаксис
TranslateTo(<Аргумент>,<Кодовая страница (INT)>,<Добавить BOM (INT)>=0):<Результат (STRING)>
Аргументы
<Аргумент>
- Аргумент, строковое представление которого необходимо перекодировать. Аргумент может представлять собой, как ANSI, как и UTF-16 строку.<Кодовая страница (INT)>
- Кодовая страница результирующей строки.<Добавить BOM (INT)>
- (необязательный аргумент) Если этот аргумент равен 1, функция добавит корректный BOM для кодировок UTF-16LE, UTF-16BE и UTF-8 после завершения процесса перекодирования, в ином случае (по умолчанию), BOM добавлен не будет.
Возвращаемое значение
Функция всегда возвращает строку UTF-16, если кодовая страница перекодировки будет соответствовать числу 1200 или 1201, в ином случае, будет возвращена однобайтовая (ANSI) строка, содержащая перекодированный текст.
Примеры
Message(TranslateTo("Проверка, test",65001)); //Будет выведено "Проверка, test" (пример работает для системной кодировки 1251) Message(TranslateTo("Проверка, test",0)); //Будет выведено "Проверка, test", функция аналогична конструкции Ansi(Unicode("Проверка, test")) (пример работает для системной кодировки 1251) Message(TranslateTo("Проверка",1201)); //Будет выведено "ἄ䀄㸄㈄㔄䀄㨄〄". Текст, закодированный в UTF-16BE нельзя выводить на экран без предварительной перекодировки в стандартный формат.