Main Content

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++ エンジン関数で使用されます。

インクルード

名前空間:

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);");

代替の変換方法

"u" 接頭辞を使用して UTF-16 でエンコードされた文字列リテラルを作成する処理をサポートしている C++ コンパイラを使用している場合は、この方法を使用してエンジン関数の入力を作成できます。たとえば、次のコードは、MATLAB ステートメントを UTF-16 文字列として含む変数を定義します。

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

サポートされているコンパイラの最新の一覧については、サポートされるコンパイラ Web サイトを参照してください。

バージョン履歴

R2017b で導入