UTF8转换wxString :: ToStdString()

时间:2014-09-06 10:38:27

标签: c++ c++11 utf-8 wxwidgets

我正在编写应用程序,我使用wxWidgets作为GUI后端。应用程序的核心部分使用std::string和UTF8作为编码。我需要有理智的方式在wxStringstd::string之间进行转换。我知道wxString::ToUTF8()但是使用起来有些尴尬(我认为效率低下,因为它会返回一些代理对象)。有一个更好的方法wxString::ToStdString()但是,如果我理解正确,它使用当前的语言环境编码。是否有一种方法可以全局配置wxWidgets,使其在wxString和窄字符const char*std::string之间转换时使用UTF8编码?

1 个答案:

答案 0 :(得分:0)

不,没有办法做到这一点,你必须使用ToUTF8()或等效的utf8_str()编写自己的帮助函数。从每次调用UTF-32或UTF-16的转换来看,这都是低效的,但这不太可能成为瓶颈。