Функция CharToString и Unicode.

 

В справочнике по MQL5 написано, что параметр char_code функции CharToString - это код символа Unicode (https://www.mql5.com/ru/docs/convert/chartostring).

Тогда, например, вызов CharToString(0x0411) должен возвращать заглавную русскую букву "Б" (0x0411 - это шестнадцатиричный код символа "Б" в юникоде).

Однако, этого не происходит, возвращается пустая строка. Более того, возникает предупреждение о возможной truncation параметра.

Вопрос, как обработать кириллицу в юникоде, если корректно обрабатываются только коды до 0x00FF (255)?

Документация по MQL5: Преобразование данных / CharToString
Документация по MQL5: Преобразование данных / CharToString
  • www.mql5.com
Преобразование данных / CharToString - Документация по MQL5
 
Batohov:

В справочнике по MQL5 написано, что параметр char_code функции CharToString - это код символа Unicode (https://www.mql5.com/ru/docs/convert/chartostring).

Тогда, например, вызов CharToString(0x0411) должен возвращать заглавную русскую букву "Б" (0x0411 - это шестнадцатиричный код символа "Б" в юникоде).

Однако, этого не происходит, возвращается пустая строка. Более того, возникает предупреждение о возможной truncation параметра.

Вопрос, как обработать кириллицу в юникоде, если корректно обрабатываются только коды до 0x00FF (255)?

 

Это ошибка в описании.

Исправим.

Используйте ShortToString 

 

В документации неточность. Исправим.

В Вашем случае необходимо использовать функцию ShortToString 

Документация по MQL5: Преобразование данных / ShortToString
Документация по MQL5: Преобразование данных / ShortToString
  • www.mql5.com
Преобразование данных / ShortToString - Документация по MQL5
 
stringo:

В документации неточность. Исправим.

В Вашем случае необходимо использовать функцию ShortToString 

Спасибо, заработало.  :-)
 
Batohov:
Спасибо, заработало.  :-)
Документацию  тоже поправили - CharToString
Причина обращения: