matlab::cpplib::convertUTF8StringToUTF16String
将 UTF-8 字符串转换为 UTF-16 字符串
描述
std::u16string & ustr convertUTF8StringToUTF16String(const std::string & str)
将 UTF-8 字符串(ASCII 或 Unicode®)转换为 UTF-16 字符串。使用此函数将 ASCII 字符串转换为表示启动选项(传递给 initMATLABApplication)、函数名称或 matlab::data::array 时所需的格式。
在字符串字面值 char * 前加上前缀 u 是一种更简洁的方式,当将字符串字面值作为参数传递时,其效果与 convertUTF8StringToUTF16String 相同。例如,您可以编写 initMATLABLibrary(app, u"mylib");,而不是更冗长的 initMATLABLibrary(app, convertUTF8StringToUTF16String("mylib"));,两者得到的结果相同。
注意
Visual C++® 2013 不支持添加 u 前缀。
参数
const std::string & str | 一个 UTF-8(可能为 ASCII)字符串。 |
返回值
| 一个 UTF-16 编码的字符串。 |
异常
| 输入不是有效的 UTF-8 字符串。 |
示例
将 UTF-8 字符串转换为 UTF-16 字符串
auto app = initMATLABApplication(MATLABApplicationMode::IN_PROCESS); const char * libName = getLibNameFromConfigFile(); // imaginary user-defined function auto mylib = initMATLABLibrary(app, convertUTF8StringToUTF16String(libName));
版本历史记录
在 R2018a 中推出
另请参阅
matlab::cpplib::convertUTF16StringToUTF8String | matlab::cpplib::initMATLABApplication | matlab::cpplib::runMain | matlab::cpplib::initMATLABLibrary | matlab::cpplib::initMATLABLibraryAsync | matlab::cpplib::MATLABLibrary::feval | matlab::cpplib::MATLABLibrary::fevalAsync | matlab::cpplib::MATLABLibrary::waitForFiguresToClose