MultiByteToWideChar和WideCharToMultiByte widechartomultibyte

主要用到两个Api:

MultiByteToWideChar

http://msdn.microsoft.com/en-us/library/ms776413.aspx

WideCharToMultiByte

http://msdn.microsoft.com/en-us/library/ms776420.aspx

ANSI <--> Unicode <--> UTF8

/*代码如下,基本上应该没有错 ^_^ */

wchar_t * ANSIToUnicode( const char* str )

{

int textlen ;

wchar_t * result;

textlen = MultiByteToWideChar( CP_ACP, 0, str,-1, NULL,0 );

result = (wchar_t *)malloc((textlen+1)*sizeof(wchar_t));

memset(result,0,(textlen+1)*sizeof(wchar_t));

MultiByteToWideChar(CP_ACP, 0,str,-1,(LPWSTR)result,textlen );

return result;

}

char * UnicodeToANSI( const wchar_t *str )

{

char * result;

int textlen;

// wide char to multi char

textlen = WideCharToMultiByte( CP_ACP, 0, str, -1, NULL, 0, NULL, NULL );

result =(char *)malloc((textlen+1)*sizeof(char));

memset( result, 0, sizeof(char) * ( textlen + 1 ) );

WideCharToMultiByte( CP_ACP, 0, str, -1, result, textlen, NULL, NULL );

MultiByteToWideChar和WideCharToMultiByte widechartomultibyte
return result;

}

wchar_t * UTF8ToUnicode( const char* str )

{

int textlen ;

wchar_t * result;

textlen = MultiByteToWideChar( CP_UTF8, 0, str,-1, NULL,0 );

result = (wchar_t *)malloc((textlen+1)*sizeof(wchar_t));

memset(result,0,(textlen+1)*sizeof(wchar_t));

MultiByteToWideChar(CP_UTF8, 0,str,-1,(LPWSTR)result,textlen );

return result;

}

char * UnicodeToUTF8( const wchar_t *str )

{

char * result;

int textlen;

// wide char to multi char

textlen = WideCharToMultiByte( CP_UTF8, 0, str, -1, NULL, 0, NULL, NULL );

result =(char *)malloc((textlen+1)*sizeof(char));

memset(result, 0, sizeof(char) * ( textlen + 1 ) );

WideCharToMultiByte( CP_UTF8, 0, str, -1, result, textlen, NULL, NULL );

return result;

}有点小问题,返回值需要换成string类型返回,内存没有释放;~~自个改吧

  

爱华网本文地址 » http://www.413yy.cn/a/25101013/158562.html

更多阅读

婚前检查项目和注意事项 精 胃镜检查前注意事项

婚前检查项目和注意事项 精——简介婚前检查是结婚前进行的体检项目,能提高人口素质、降低出生缺陷、预防先天疾病,也是夫妻彼此的一项权利,虽然新婚姻法去除了强制婚检的要求,但为了夫妻彼此的健康以及孩子的健康,应该主动进行婚检。婚

如何查询快递单号和派件员电话号码? 中通快递单号查询号码

如何查询快递单号和派件员电话号码?——简介现在电商社会,在淘宝上购买了东西,卖家已经发货也有了单号,看着旺旺上的跟踪记录就快派送到自己的手上了,但迟迟没有派送!我们该如何让快递早派送?例如:现在我们在淘宝得知有了自己的申通快递单

关于饮水:1 喝水方法和每天喝多少水合适

关于饮水:[1]喝水方法和每天喝多少水合适——简介水是生命之源,我们每天都在喝水,但是你真的知道该怎么喝水吗?每天喝多少水合适吗?今天,就来介绍一下。关于饮水:[1]喝水方法和每天喝多少水合适——方法/步骤1关于饮水:[1]喝水方法和每天喝

红米1S电信版和移动版和联通版的区别 红米1s移动版破解联通

红米1S电信版和移动版和联通版的区别——简介 直到今天,发烧级平民手机红米手机各种移动运营商制式总算全部发布起了!这也给不是IT行业的朋友选购带来了纠结,哪一版本适合自己呢?各个版本有什么全部呢?今天小编为你一一解析!希望能给你提

声明:《MultiByteToWideChar和WideCharToMultiByte widechartomultibyte》为网友玻璃之情分享!如侵犯到您的合法权益请联系我们删除