c/c++ 中文字符串转Unicode和UTF8
2018-07-20 来源:open-open
1. 描述
在windows上做系统编程,少不了会遇到处理中文字符串的问题。而大多时候中文汉字都是以多字节编码的方式展现的。为了实现更好的兼容性或一些特殊的需求,(比如在网页上显示。)常需要将其转换成unicode或者utf8的格式。
2. 代码示例
2.1 中文字符串转Unicode
/************************************************************************ *int CN2Unicode(char *input,wchar_t *output) *功能:中文字符转换为unicode字符 *参数:input,包含中文的字符串,output,Unicode字符串 * *************************************************************************/ int CN2Unicode(char *input,wchar_t *output) { int len = strlen(input); //wchar_t *out = (wchar_t *) malloc(len*sizeof(wchar_t)); len=MultiByteToWideChar(CP_ACP,0,input,-1,output,MAX_PATH); return 1; }
2.2 中文字符串转utf8
/************************************************************************ *int CN2Utf8(char *input,char *output) *功能:中文字符串转换为utf8字符串 *参数:input,包含中文的字符串,output,utf8字符串 * ************************************************************************/ int CN2Utf8(char *input,char *output) { int len ; wchar_t *out = (wchar_t *) malloc(len*sizeof(wchar_t)); len = MultiByteToWideChar(CP_ACP,0,input,-1,out,strlen(input)+1); WideCharToMultiByte(CP_UTF8,0,out,wcslen(out),output,len,NULL,NULL); return 1; }
标签: 代码
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点!
本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。
最新资讯
热门推荐