我正在编写应用程序,我使用wxWidgets作为GUI后端。应用程序的核心部分使用std::string
和UTF8作为编码。我需要有理智的方式在wxString
和std::string
之间进行转换。我知道wxString::ToUTF8()
但是使用起来有些尴尬(我认为效率低下,因为它会返回一些代理对象)。有一个更好的方法wxString::ToStdString()
但是,如果我理解正确,它使用当前的语言环境编码。是否有一种方法可以全局配置wxWidgets,使其在wxString
和窄字符const char*
,std::string
之间转换时使用UTF8编码?
答案 0 :(得分:0)
不,没有办法做到这一点,你必须使用ToUTF8()
或等效的utf8_str()
编写自己的帮助函数。从每次调用UTF-32或UTF-16的转换来看,这都是低效的,但这不太可能成为瓶颈。