mATLABEngine::

Перевод строки в кодировке UTF-8 в строку в кодировке UTF-16

Описание

std::basic_string<char16_t> convertUTF8StringToUTF16String(const std::string& utf8string)

Преобразуйте строку UTF-8 в строку UTF-16. Используйте эту функцию, чтобы преобразовать строки ASCII в строки matlab::engine::String, которые используются функциями MATLAB® C ++ Engine.

Включение

Пространство имен:

matlab::engine
ВключениеMatlabEngine.hpp

Параметры

const std::string& utf8string

Строка UTF-8

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

std::basic_string<char16_t>

Строка UTF-16

Исключения

matlab::engine::OutofMemoryException

Функции не удалось выделить память.

matlab::engine::TypeConversionException

Входной тип не может быть преобразован в std::basic_string<char16_t>.

Примеры

Преобразование строки

Преобразуйте строку UTF-8 в matlab::engine::String (строка UTF-16).

std::u16string matlabStatement = convertUTF8StringToUTF16String("sRoot = sqrt(12.7);");

Альтернативное преобразование

Если вы используете компилятор C++, который поддерживает использование префикса "u", чтобы создать закодированные строковые литералы UTF-16, можно использовать этот подход, чтобы создать входные параметры для функций механизма. Например, этот код задает переменную, которая содержит выражение MATLAB как строку UTF-16.

std::u16string matlabStatement = u"sRoot = sqrt(12.7);";

Актуальный перечень поддерживаемых компиляторов см. на сайте «Поддерживаемые и совместимые компиляторы».

Введенный в R2017b