matlab::engine::convertUTF8StringToUTF16String

Преобразуйте 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

A UTF-8 строка

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

std::basic_string<char16_t>

A 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 закодированных строковых литералов, можно использовать этот подход для создания входов для функций engine. Для примера этот код определяет переменную, которая содержит выражение MATLAB как UTF-16 строку.

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

Обновленный список поддерживаемых компиляторов см. на веб-сайте Поддерживаемые и совместимые компиляторы.

Введенный в R2017b