如何将 unicode QString 转换为 std::string?

发布于 2024-10-25 21:35:42 字数 135 浏览 2 评论 0原文

我需要将 QString 转换为 std::string。但是,如果该字符串包含 unicode 符号,我会得到 ????。如何使用正确的编码转换字符串?

谢谢。

I need convert a QString to an std::string. However, if this string contains unicode symbols, I get ????. How can I convert the string with the proper encoding?

Thank you.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

宛菡 2024-11-01 21:35:42

到目前为止您是如何尝试转换字符串的?

根据 文档 std::string QString::toStdString ( ) 应该将 unicode-data 转换为 ascii-string

但请注意,您会丢失 ascii 无法处理的特殊字符。

How did you try to convert the string so far?

According to documentation std::string QString::toStdString () should convert the unicode-data to an ascii-string

But be warned that you loose special-chars which ascii can't handle.

久隐师 2024-11-01 21:35:42

根据Qt文档,QString::toStdString内部使用toAscii()函数: http:// /doc.qt.nokia.com/latest/qstring.html#toStdString

基本上,您需要创建自己的转换器函数来使用 QString::toUtf8() 代替。

According to Qt documentation, QString::toStdString internally uses toAscii() function: http://doc.qt.nokia.com/latest/qstring.html#toStdString

Basically, you'll need to make your own converter function that would use QString::toUtf8() instead.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文