我正在使用一个在const char*
类型中生成 UTF-8 空终止字符串的库。示例包括:
MIGUEL ANTÓNIO
DONA ESTEFÂNIA
我想将这两种const char*
类型转换为CString
:
MIGUEL ANTÓNIO
DONA ESTEFÂNIA
为此,我正在使用我制作的以下功能:
CString Utf8StringToCString(const char * s)
{
CStringW ws = CA2W(s, CP_UTF8);
return CW2T(ws);
}
该功能似乎做了我想要的(至少对于这两种情况)。但是,我想知道:使用 CA2W 宏,然后使用 CW2T 是否是个好主意?我这样做是在做某种有损转换吗?有什么我需要担心的副作用吗?
其他一些细节:
- 我正在使用 Visual Studio 2015
- 我的应用程序是使用使用多字节字符集编译的