string转为utf-8写法
时间: 2023-08-03 19:04:02 浏览: 144
将 std::string 转换为 UTF-8 编码的写法可以使用 Qt 的 QString 类来完成。QString 类提供了一些便捷的函数用于字符串编码的转换。
下面是一个示例代码,展示了将 std::string 转换为 UTF-8 编码的方法:
```cpp
#include <iostream>
#include <string>
#include <QString>
int main() {
std::string str = "你好,世界!"; // 假设字符串为中文
// 将 std::string 转为 QString
QString qstr = QString::fromStdString(str);
// 将 QString 转为 UTF-8 编码的 std::string
std::string utf8Str = qstr.toUtf8().constData();
// 输出结果
std::cout << utf8Str << std::endl;
return 0;
}
```
输出结果:
```
你好,世界!
```
在上述示例中,我们首先定义了一个 std::string 类型的字符串 `str`,其中包含了中文字符。然后,我们使用 `QString::fromStdString()` 函数将其转换为 QString 类型的字符串 `qstr`。接着,我们使用 `qstr.toUtf8().constData()` 将 QString 转换为 UTF-8 编码的 std::string。最后,我们将转换后的字符串输出到控制台。
需要注意的是,Qt 中的 QString 类已经默认使用 UTF-16 编码,因此在将其转换为 UTF-8 编码时需要使用 `toUtf8()` 函数。
阅读全文