青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

牽著老婆滿(mǎn)街逛

嚴(yán)以律己,寬以待人. 三思而后行.
GMail/GTalk: yanglinbo#google.com;
MSN/Email: tx7do#yahoo.com.cn;
QQ: 3 0 3 3 9 6 9 2 0 .

用C語(yǔ)言實(shí)現(xiàn)常見(jiàn)的三種中文內(nèi)碼轉(zhuǎn)換

常見(jiàn)的中文內(nèi)碼一般有GB2312(簡(jiǎn)體中文),GBK和臺(tái)灣那邊用的BIG5(繁體中文),有時(shí)候看一些臺(tái)灣編程論壇里的資料,都是亂碼,如果在IE中瀏覽,則要求安裝繁體字庫(kù)的支持。網(wǎng)上也有很多中文內(nèi)碼的轉(zhuǎn)換工具,但是在自己的程序中集成這些功能豈不是更好。Windows中提供了MultiByteToWideChar和WideCharToMultiByte兩兄弟函數(shù),足可以搞定這些功能了。

以下四個(gè)函數(shù)分別實(shí)現(xiàn):
大五碼轉(zhuǎn)GBK碼/GBK轉(zhuǎn)大五碼
GB2312碼轉(zhuǎn)GBK碼/GBK碼轉(zhuǎn)GB2312碼

于是有人要問(wèn)了,為什么沒(méi)有GB2312轉(zhuǎn)BIG5和BIG5轉(zhuǎn)GB2312呢,我們有GBK,可以做一下中轉(zhuǎn)啊。可以將GB2312轉(zhuǎn)成GBK,再將GBK轉(zhuǎn)成BIG5,反之亦然。如果你嫌麻煩,可以自己寫(xiě)一個(gè)GB2BIG5/BIG52GB。


//---------------------------------------------------------------------------

?

// ?大五碼轉(zhuǎn)GBK碼:

// ?い地チ㎝瓣?-->?中華人民共和國(guó)

void ?__fastcall?BIG52GBK( char ? * szBuf)

{

 
if ( ! strcmp(szBuf,? "" ))

return ;

 
int ?nStrLen? = ?strlen(szBuf);

 wchar_t?
* pws? = ? new ?wchar_t[nStrLen? + ? 1 ];

 
try

 
{

int ?nReturn? = ?MultiByteToWideChar( 950 ,? 0 ,?szBuf,?nStrLen,?pws,?nStrLen? + ? 1 );

BOOL?bValue?
= ? false ;

nReturn?
= ?WideCharToMultiByte( 936 ,? 0 ,?pws,?nReturn,?szBuf,?nStrLen? + ? 1 ,? " ? " ,? & bValue);

szBuf[nReturn]?
= ? 0 ;

 }


 __finally

 
{

delete[]?pws;

 }


}

?

//---------------------------------------------------------------------------

?

// ?GBK轉(zhuǎn)大五碼

// ?中華人民共和國(guó)?-->?い地チ㎝瓣

void ?__fastcall?GBK2BIG5( char ? * szBuf)

{

 
if ( ! strcmp(szBuf,? "" ))

return ?;

 
int ?nStrLen? = ?strlen(szBuf);

 wchar_t?
* pws? = ? new ?wchar_t[nStrLen? + ? 1 ];

 
try

 
{

MultiByteToWideChar(
936 ,? 0 ,?szBuf,?nStrLen,?pws,?nStrLen? + ? 1 );

BOOL?bValue?
= ? false ;

WideCharToMultiByte(
950 ,? 0 ,?pws,?nStrLen,?szBuf,?nStrLen? + ? 1 ,? " ? " ,? & bValue);

szBuf[nStrLen]?
= ? 0 ;

 }


 __finally

 
{

delete[]?pws;

 }


}

?

//----------------------------------------------------------------------------

?

// ?GB2312碼轉(zhuǎn)GBK碼

// ?中華人民共和國(guó)?-->?中華人民共和國(guó)

void ?__fastcall?GB2GBK( char ? * szBuf)

{

 
if ( ! strcmp(szBuf,? "" ))

return ;

 
int ?nStrLen? = ?strlen(szBuf);

 WORD?wLCID?
= ?MAKELCID(MAKELANGID(LANG_CHINESE,?SUBLANG_CHINESE_SIMPLIFIED),?SORT_CHINESE_PRC);

 
int ?nReturn? = ?LCMapString(wLCID,?LCMAP_TRADITIONAL_CHINESE,?szBuf,?nStrLen,?NULL,? 0 );

 
if ( ! nReturn)

return ;

 
char ? * pcBuf? = ? new ? char [nReturn? + ? 1 ];

 
try

 
{

wLCID?
= ?MAKELCID(MAKELANGID(LANG_CHINESE,?SUBLANG_CHINESE_SIMPLIFIED),?SORT_CHINESE_PRC);

LCMapString(wLCID,?LCMAP_TRADITIONAL_CHINESE,?szBuf,?nReturn,?pcBuf,?nReturn?
+ ? 1 );

strncpy(szBuf,?pcBuf,?nReturn);

 }


 __finally

 
{

delete[]?pcBuf;

 }


}

?

//---------------------------------------------------------------------------

?

// ?GBK碼轉(zhuǎn)GB2312碼

// ?中華人民共和國(guó)?-->?中華人民共和國(guó)

void ?__fastcall?GBK2GB( char ? * szBuf)

{

 
if ( ! strcmp(szBuf,? "" ))

return ;

 
int ?nStrLen? = ?strlen(szBuf);

 WORD?wLCID?
= ?MAKELCID(MAKELANGID(LANG_CHINESE,?SUBLANG_CHINESE_SIMPLIFIED),?SORT_CHINESE_BIG5);

 
int ?nReturn? = ?LCMapString(wLCID,?LCMAP_SIMPLIFIED_CHINESE,?szBuf,?nStrLen,?NULL,? 0 );

 
if ( ! nReturn)

return ;

 
char ? * pcBuf? = ? new ? char [nReturn? + ? 1 ];

 
try

 
{

wLCID?
= ?MAKELCID(MAKELANGID(LANG_CHINESE,?SUBLANG_CHINESE_SIMPLIFIED),?SORT_CHINESE_BIG5);

LCMapString(wLCID,?LCMAP_SIMPLIFIED_CHINESE,?szBuf,?nReturn,?pcBuf,?nReturn?
+ ? 1 );

strncpy(szBuf,?pcBuf,?nReturn);

 }


 __finally

 
{

delete?[]pcBuf;

 }


}

?

//---------------------------------------------------------------------------

?

// ?測(cè)試代碼

void ?__fastcall?TForm1::Button1Click(TObject? * Sender)

{

 
char ?szBuf[ 255 ];

 
// ?從GB2312轉(zhuǎn)到GBK

 strcpy(szBuf,?Edit1
-> Text.c_str());

 GB2GBK(szBuf);

 Edit2
-> Text? = ?String(szBuf);

 
// ?從GB2312轉(zhuǎn)到BIG5,通過(guò)GBK中轉(zhuǎn)

 strcpy(szBuf,?Edit1
-> Text.c_str());

 GB2GBK(szBuf);

 GBK2BIG5(szBuf);

 Edit3
-> Text? = ?String(szBuf);

}


?
注意,請(qǐng)不要使用String類(lèi)的c_str()作為上述幾個(gè)函數(shù)的傳入?yún)?shù)。

posted on 2006-06-22 14:55 楊粼波 閱讀(852) 評(píng)論(0)  編輯 收藏 引用


只有注冊(cè)用戶(hù)登錄后才能發(fā)表評(píng)論。
網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問(wèn)   Chat2DB   管理


青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            欧美日韩成人综合在线一区二区 | 久久久久国色av免费看影院| 久久香蕉国产线看观看av| 在线视频日韩| 在线亚洲精品福利网址导航| 亚洲国产欧美一区| 亚洲国产精品t66y| 亚洲欧洲午夜| 亚洲欧美成人在线| 欧美一区二区三区四区在线观看 | 欧美剧在线免费观看网站| 国产精品久久久久永久免费观看 | 国产欧美亚洲日本| 欧美在线观看视频一区二区| 亚洲黄色大片| 久久九九热免费视频| 亚洲一级二级在线| 香港久久久电影| 久久久精品一品道一区| 久久综合网色—综合色88| 欧美激情精品久久久久久| 欧美日韩国产页| 欧美视频一区| 亚洲国产国产亚洲一二三| 中文国产亚洲喷潮| 久久亚洲视频| 亚洲精品国产拍免费91在线| 在线一区观看| 六月丁香综合| 国产综合网站| 亚洲午夜未删减在线观看| 欧美肥婆在线| 国产精品自拍一区| 亚洲国产影院| 欧美亚洲一级| 欧美国产精品v| 亚洲欧美日韩一区在线观看| 欧美国产亚洲视频| 国内揄拍国内精品少妇国语| 亚洲国产美女久久久久| 欧美一级午夜免费电影| 久久精品国产99精品国产亚洲性色| 欧美日韩精品一二三区| 亚洲一区二区免费视频| 亚洲美女电影在线| 伊人久久综合| 亚洲小视频在线观看| 国产精品一区二区在线观看不卡| 玖玖玖国产精品| 欧美国产综合| 午夜精品在线看| 母乳一区在线观看| 亚洲一区在线直播| 久久久视频精品| 一本色道久久综合亚洲精品按摩 | 亚洲国产日韩欧美| 一本色道久久综合狠狠躁的推荐| 韩国精品久久久999| 日韩香蕉视频| 久久五月天婷婷| 国产精品色网| 欧美激情一区二区三区高清视频 | 亚洲深夜av| 亚洲人成7777| 亚洲小说欧美另类社区| 亚洲欧美日韩在线| 午夜在线一区| 国产精品亚洲аv天堂网| 一本大道久久a久久综合婷婷 | 亚洲电影中文字幕| 欧美一区二区三区四区在线观看| 99综合精品| 欧美日韩国产免费| 日韩亚洲一区在线播放| 亚洲电影网站| 亚洲视频一二三| 在线精品亚洲| 国产私拍一区| 国产欧美精品在线播放| 欧美理论片在线观看| 久久久国产视频91| 亚洲肉体裸体xxxx137| 黄色在线成人| 欧美久久成人| 亚洲午夜精品久久久久久浪潮 | 国产精品亚洲一区| 久久精品夜色噜噜亚洲a∨| 欧美久久综合| 夜夜爽www精品| 久久久美女艺术照精彩视频福利播放 | 久久国产精品网站| 亚洲大片在线| 久久精品网址| 一个人看的www久久| 最新国产成人av网站网址麻豆| 国产精品久久久久久久久免费| 欧美一级淫片aaaaaaa视频| 亚洲成人在线视频网站| 国产欧美精品在线| 欧美激情综合亚洲一二区| 午夜视频在线观看一区二区三区| 欧美激情欧美狂野欧美精品| 亚洲欧美在线另类| 亚洲欧美一区二区三区在线| 亚洲一区二区三区精品在线观看 | 99伊人成综合| 在线看国产一区| 亚洲精品国产精品国自产观看| 国产精品乱码妇女bbbb| 国产精品国产三级国产普通话99| 欧美日韩直播| 亚洲国产精品精华液网站| 欧美日韩一卡二卡| 国产欧美精品日韩精品| 国产精品亚洲片夜色在线| 国产精品日本一区二区| 欧美日韩第一页| 欧美日韩一区二区精品| 国产精品久久久久9999吃药| 欧美激情在线| 欧美精品v日韩精品v国产精品| 欧美一区=区| 亚洲在线视频一区| 久久久中精品2020中文| 噜噜噜躁狠狠躁狠狠精品视频| 久久中文字幕导航| 欧美日韩精品二区| 一区二区亚洲精品国产| 亚洲视频播放| 欧美aa国产视频| 久久精品91久久久久久再现| 欧美福利视频| 国产综合久久久久久鬼色| 一区二区三区四区精品| 欧美黄色大片网站| 久久精品理论片| 国产日韩精品在线观看| 亚洲欧美日韩区| 欧美色图五月天| 夜夜爽av福利精品导航 | 久久躁日日躁aaaaxxxx| 国产欧美在线观看| 日韩手机在线导航| 久久理论片午夜琪琪电影网| 一区二区精品在线| 国产精品亚洲成人| 久久av一区二区三区漫画| 亚洲在线播放| 欧美四级在线| 亚洲女人天堂成人av在线| 亚洲国产福利在线| 欧美精品一区视频| 亚洲东热激情| 亚洲国产天堂网精品网站| 欧美激情性爽国产精品17p| 亚洲视频二区| 久久精品人人爽| 亚洲美女区一区| 欧美一区二区三区在线免费观看| 国内精品久久久| 亚洲欧美在线网| 91久久在线观看| 久久亚洲精品一区| 欧美在线三级| 国产精品大全| 一区二区三区高清在线| 亚洲麻豆视频| 免费成人在线观看视频| 蜜桃av综合| 亚洲国产欧美在线| 免费看成人av| 欧美电影免费网站| 亚洲国产小视频在线观看| 亚洲国产精品一区二区第一页| 欧美日韩国产综合一区二区| 久久精品夜夜夜夜久久| 欧美精品激情blacked18| 亚洲免费视频中文字幕| 玖玖综合伊人| 久久精品动漫| 嫩草国产精品入口| 欧美四级剧情无删版影片| 久久视频在线看| 国产亚洲一本大道中文在线| 久久亚洲春色中文字幕久久久| 欧美吻胸吃奶大尺度电影| 欧美国产视频日韩| 日韩亚洲欧美精品| 国产亚洲免费的视频看| 一本色道久久88综合日韩精品| 亚洲人成在线观看| 你懂的亚洲视频| 亚洲福利视频专区| 日韩一级大片在线| 欧美精品一卡| 亚洲一区二区三| 亚洲乱码视频| 国产精品日本| 欧美专区18| 99伊人成综合|