程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> c/c++ 中文字符串轉Unicode和UTF8

c/c++ 中文字符串轉Unicode和UTF8

編輯:C++入門知識

c/c++ 中文字符串轉Unicode和UTF8


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;
}

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved