如何将CString的中文字符串,转成UTF-8字符集的char*字符串????

wangxi1240 2006-09-22 04:14:36
在下载http文件时遇到的问题,当要下载一个中文文件名的时候,windows的编码默认是GBK,而web服务器要求是UTF-8,所以出现文件http的400错误,需要做编码的转换。我尝试使用MultiByteToWideChar去转换,但没有成功。
请各位指点,如何实现这个转换,多谢!
...全文
383 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
wangxi1240 2006-09-22
  • 打赏
  • 举报
回复
感谢lixiaosan(小三)
lixiaosan 2006-09-22
  • 打赏
  • 举报
回复
CString str;
int nLen = MultiByteToWideChar(CP_ACP, 0, (LPCTSTR)str, -1, NULL,0);
WCHAR *wszUTF = new WCHAR[nLen+1];
MultiByteToWideChar(CP_ACP, 0, (LPCTSTR)str, -1, wszUTF, nLen);
nLen = WideCharToMultiByte(CP_UTF8, 0, wszUTF, -1, NULL, 0, NULL, NULL);
TCHAR *szUTF = new TCHAR[nLen+1];
WideCharToMultiByte(CP_UTF8, 0, wszUTF, -1, szUTF, nLen, NULL,NULL);

delete[] szUTF;
delete[] wszUTF;
jacklzw88 2006-09-22
  • 打赏
  • 举报
回复
网上代码很多,并不是单单MultiByteToWideChar就行了
lixiaosan 2006-09-22
  • 打赏
  • 举报
回复
GBK-》UTF-8
OR
UTF-8 -》GBK

18,356

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 网络编程
c++c语言开发语言 技术论坛(原bbs)
社区管理员
  • 网络编程
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧