0
我的程序需要很多ANSI < => UNICODE对话,所以我想到了创建多种类型的对象,它将转换所有的东西比联合功能和大量的新/删除更容易。伪代码:C++多目标对象的想法
class CWchar // char based
{
public:
public static implicit operator wchar_t*(CWchar cw)
{
// converting cw.data to wchar_t
// up to U+FFFF conversion needed
}
public static implicit operator char*(CWchar cw)
{
return cw.data;
}
CWchar& CWchar::operator=(const char* c)
{
data = *c;
return *this;
}
CWchar& CWchar::operator=(const wchar_t* c)
{
//conversion to char* ...
return *this;
}
// add some smart pointers, garbage collector, and leave delete
private:
char* data;
}
这真的值得编码吗?或者我应该考虑另一种解决方案吗?也许有已经完成的项目?或者,也许我错了,这个想法很糟糕?谢谢
为什么你需要做这么多的转换?是否有可能只有一个连接Unicode端和非Unicode端的桥? – 2012-04-16 12:42:10
我的应用程序是迷你即时消息,它接收多字节字符*,我需要将其转换为宽wchar_t *,例如希腊字母将格式化好。 – user1112008 2012-04-16 12:51:22
@MikeKwan我忘了补充通知,你能否多说一些关于桥梁的想法? – user1112008 2012-04-16 13:23:29