CString Unicode 转 UTF-8

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了CString Unicode 转 UTF-8相关的知识,希望对你有一定的参考价值。

Edit1为CString 且为IDC_Edit的变量 输入文本 Unicode编码

p.text为 char *

我使用Visual Studio 2008

现在想将Edit1的信息赋给p.text 并且将文本数据转成UTF-8的编码模式

请高人给个算法 会加分

参考技术A char* UnicodeToUtf8(CString unicode)

int len;
len = WideCharToMultiByte(CP_UTF8, 0, (LPCWSTR)unicode, -1, NULL, 0, NULL, NULL);
char *szUtf8=new char[len + 1];
memset(szUtf8, 0, len * 2 + 2);
WideCharToMultiByte (CP_UTF8, 0, (LPCWSTR)unicode, -1, szUtf8, len, NULL,NULL);
return wszUtf8;
本回答被提问者采纳
参考技术B 自己写的一个函数,CString2Char
char * CStringToChar(CString & str)

char temp[24];
int i;
for(i=0;i<str.GetLength();i++)
temp[i]=str[i];
temp[i]='\0';
return temp;

IOS关于String转UTF8(Unicode)

参考技术A 在 iOS 程序访问HTTP资源时需要对URL进行Encode

1.转换为UTF8(ios7 之后的方法)

转换之后的结果为

2.转换为Unicode

转换“我的生活”的结果为

以上是关于CString Unicode 转 UTF-8的主要内容,如果未能解决你的问题,请参考以下文章

CString和string在unicode与非unicode下的相互转换(转)

Unicode字符集下CString与char *转换 (解决中文乱码等)(转)

unicode下char*和CString

转:CString::GetLength()获得字节数的正确方法

mfc CString 转 char *

CString构造函数