WinCe和Windows Mobile下的Unicode和ANSI字符串转换的方法
在WinCe和Windows Mobile下字符串是unicode,所以在开发native code的时候,特别是注意字符串的转换,下面是比较简单的字符串转换方法。记录下来,以便查找。
char szA[100]; // ANSI
WCHAR szW[200]; // Unicode
// regular call of sprintf: all strings are in ANSI
sprintf(szA, "%s", "ANSI Str");
// convert string from Unicode into ANSI
sprintf(szA, "%S", "Unicode Str");
// regular call swprintf. All string are in Unicode
swprintf(szW, L"%s", L"Unicode Str");
// convert string from ANSI into Unicode
swprintf(szW, L"%S", "ANSI Str");
WCHAR szW[200]; // Unicode
// regular call of sprintf: all strings are in ANSI
sprintf(szA, "%s", "ANSI Str");
// convert string from Unicode into ANSI
sprintf(szA, "%S", "Unicode Str");
// regular call swprintf. All string are in Unicode
swprintf(szW, L"%s", L"Unicode Str");
// convert string from ANSI into Unicode
swprintf(szW, L"%S", "ANSI Str");
//convert CString(Unicode) to std::string
CString str = "mel";
std::string city = CT2CA(str);
//convert std::string to CString(Unicode)
std::string str = "AA";
CString cstr = CComBSTR(str);
CString str = "mel";
std::string city = CT2CA(str);
//convert std::string to CString(Unicode)
std::string str = "AA";
CString cstr = CComBSTR(str);
更深入的请参考
一文讲清楚Windows Mobile和Wince(Windows Embedded CE)的字符集问题
作者:Jake Lin(Jake's Blog on 博客园)
出处:http://procoder.cnblogs.com
本作品由Jake Lin创作,采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。 任何转载必须保留完整文章,在显要地方显示署名以及原文链接。如您有任何疑问或者授权方面的协商,请给我留言。
出处:http://procoder.cnblogs.com
本作品由Jake Lin创作,采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。 任何转载必须保留完整文章,在显要地方显示署名以及原文链接。如您有任何疑问或者授权方面的协商,请给我留言。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架