主要内容

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)字符串。

返回值

std::u16string

一个 UTF-16 编码的字符串。

异常

std::range_error

输入不是有效的 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 中推出