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

來源:互聯網
上載者:User

標籤:編碼轉換   unicode   utf8   c-c++   

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

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

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.