c/c++中国語文字列回転UnicodeとUTF 8
2204 ワード
1.説明
Windowsでシステムプログラミングをすると、中国語の文字列を処理する問題が少なくありません.多くの場合、中国語の漢字はマルチバイト符号化で表現されている.Webページに表示されるなど、より良い互換性や特別なニーズを実現するためには、unicodeまたはutf 8のフォーマットに変換する必要があります.
2.コード例
2.1中国語文字列変換Unicode
2.2中国語文字列回転utf 8
Windowsでシステムプログラミングをすると、中国語の文字列を処理する問題が少なくありません.多くの場合、中国語の漢字はマルチバイト符号化で表現されている.Webページに表示されるなど、より良い互換性や特別なニーズを実現するためには、unicodeまたはutf 8のフォーマットに変換する必要があります.
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中国語文字列回転utf 8
/************************************************************************
*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;
}