ÉèΪÊ×Ò³ ¼ÓÈëÊÕ²Ø

TOP

C++ÈçºÎÉú³Éutf-8±àÂëµÄÎļþ
2013-11-20 14:23:19 À´Ô´: ×÷Õß: ¡¾´ó ÖРС¡¿ ä¯ÀÀ:109´Î
Tags£ºÈçºÎ Éú³É utf-8 ±àÂë Îļþ

¡¡¡¡c++ÈçºÎÉú³Éutf-8±àÂëµÄÎļþÄØ£¿

¡¡¡¡²½ÖèÈçÏ£º

¡¡¡¡1.Ê×ÏÈҪдһ¸öBOMÍ·¡£UTF-8ÎļþÒ»°ãÊÇÒªÕâ¸öÍ·µÄ£¬µ±È»Ò²¿ÉÒÔûÓС£

¡¡¡¡2.½«ÒªÉú³ÉµÄ×Ö·ûÏÈʹÓÿí×Ö·û¸ñʽÉú³É£¬È»ºóµ÷ÓÃWideCharToMultiByteתΪutf-8±àÂ룬дÈëÎļþ¡£

¡¡¡¡Àý×ÓÈçÏ£º

¡¡¡¡[cpp]viewplaincopyprint

¡¡¡¡FILE*pFile=fopen£¨"d://a.txt","w"£©£»

¡¡¡¡charszBOM ={£¨char£©0xEF,£¨char£©0xBB,£¨char£©0xBF,0};

¡¡¡¡fprintf£¨pFile,"%s",szBOM£©£»

¡¡¡¡wchar_tchNum[11]=L"ÁãÒ¼·¡ÈþËÁÎé½Æâ°Æ¾Á";

¡¡¡¡wchar_tchNum2 =L"ÒÚǧ°ÙʰÍòǧ°Ùʰ¸ö";

¡¡¡¡charsz ="112304823";

¡¡¡¡wchar_tresult[32]=L"";

¡¡¡¡intoffset=0;

¡¡¡¡for£¨inti=0;i<strlen£¨sz£©£»++i£©

¡¡¡¡{

¡¡¡¡charc=sz[i];

¡¡¡¡wchar_tw1=chNum[c-'0'];

¡¡¡¡wchar_tw2=chNum2[i];

¡¡¡¡swprintf£¨result+offset,L"%c%c",w1,w2£©£»

¡¡¡¡offset+=2;

¡¡¡¡}

¡¡¡¡charszChar[64]="";

¡¡¡¡::WideCharToMultiByte£¨CP_UTF8,0,result,wcslen£¨result£©£¬szChar,64,0,0£©£»

¡¡¡¡fprintf£¨pFile,"%s",szChar£©£»

¡¡¡¡fclose£¨pFile£©£»

¡¡¡¡FILE * pFile = fopen£¨"d://a.txt", "w"£©£»

¡¡¡¡char szBOM = {£¨char£©0xEF, £¨char£©0xBB, £¨char£©0xBF, 0};

¡¡¡¡fprintf£¨pFile, "%s", szBOM£©£»

¡¡¡¡wchar_t chNum[11] = L"ÁãÒ¼·¡ÈþËÁÎé½Æâ°Æ¾Á";

¡¡¡¡wchar_t chNum2 = L"ÒÚǧ°ÙʰÍòǧ°Ùʰ¸ö";

¡¡¡¡char sz = "112304823";

¡¡¡¡wchar_t result[32] = L"";

¡¡¡¡int offset = 0;

¡¡¡¡for£¨int i = 0;

¡¡¡¡i < strlen£¨sz£©£» ++ i£© { char c = sz[i];

¡¡¡¡wchar_t w1 = chNum[ c - '0'];

¡¡¡¡wchar_t w2 = chNum2[i];

¡¡¡¡swprintf£¨result + offset, L"%c%c", w1, w2£©£»

¡¡¡¡offset += 2;

¡¡¡¡} char szChar[64] = "";

¡¡¡¡::WideCharToMultiByte£¨CP_UTF8, 0, result, wcslen£¨result£©£¬ szChar, 64, 0, 0£©£»

¡¡¡¡fprintf£¨pFile, "%s", szChar£©£»

¡¡¡¡fclose£¨pFile£©£»

¡¡¡¡×¢ÒâµÄÊÇ£¬µ±Ê¹ÓÃwchar_t¶ø²»ÔÙÊÇcharʱ£¬ËùÓеÄ×Ö·û´®²Ù×÷º¯Êý¶¼ÐèҪʱwϵÁеģ¬ÀýÈçwcslen¡¢swprintf

¡¾´ó ÖРС¡¿¡¾´òÓ¡¡¿ ¡¾·±Ìå¡¿¡¾Í¶¸å¡¿¡¾Êղء¿ ¡¾ÍƼö¡¿¡¾¾Ù±¨¡¿¡¾ÆÀÂÛ¡¿ ¡¾¹Ø±Õ¡¿ ¡¾·µ»Ø¶¥²¿¡¿
·ÖÏíµ½: 
ÉÏһƪ£ºC++ÎļþÁ÷´ò¿ª·½Ê½µÄʹÓà ÏÂһƪ£ºVC++×Ô¶¨Òå¶Ô»°¿ò³ÌÐò½çÃæÍ¼±ê

ÆÀÂÛ

ÕÊ¡¡¡¡ºÅ: ÃÜÂë: (ÐÂÓû§×¢²á)
Ñé Ö¤ Âë:
±í¡¡¡¡Çé:
ÄÚ¡¡¡¡ÈÝ:

¡¤Linuxϵͳ¼ò½é (2025-12-25 21:55:25)
¡¤Linux°²×°MySQL¹ý³Ì (2025-12-25 21:55:22)
¡¤Linuxϵͳ°²×°½Ì³Ì£¨ (2025-12-25 21:55:20)
¡¤HTTP Åc HTTPS µÄ²î„ (2025-12-25 21:19:45)
¡¤ÍøÕ¾°²È«±ØÐ޿ΣºÍ¼ (2025-12-25 21:19:42)