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

隨筆-3  評論-13  文章-10  trackbacks-0
目前的互聯網,是屬于世界的。越來越多的郵件,編碼都是用UTF8。但對于我們習慣還是用ASCII/GB2312來顯示/編輯。所以UTF8的編碼內容需要轉換,特地寫了一個類,來封裝解析的部分。

/*?UTF8Charset.h?*/
class?CUTF8Charset??
{
public:
????CUTF8Charset();
????
virtual?~CUTF8Charset();

public:
????
static?void?UTF_8ToGB2312(CString?&strOut,?char?*pText,?int?pLen);
????
static?void?GB2312ToUTF_8(CString?&strOut,?char?*pText,?int?pLen);

????
static?void?UTF_8ToGB2312(char?*pOut,?char?*pText,?int?pLen);
????
static?void?GB2312ToUTF_8(char?*pOut,?char?*pText,?int?pLen);

????
//?Unicode?轉換成UTF-8
????static?void?UnicodeToUTF_8(char*?pOut,WCHAR*?pText);
????
//?GB2312?轉換成 Unicode
????static?void?Gb2312ToUnicode(WCHAR*?pOut,char?*gbBuffer);
????
//?把Unicode?轉換成?GB2312
????static?void?UnicodeToGB2312(char*?pOut,?WCHAR*?pText);
????
//?把UTF-8轉換成Unicode
????static?void?UTF_8ToUnicode(WCHAR*?pOut,char*?pText);
}
;

/*?UTF8Charset.cpp?*/
#include?
"UTF8Charset.h"

CUTF8Charset::CUTF8Charset()
{

}


CUTF8Charset::
~CUTF8Charset()
{

}


void?CUTF8Charset::UTF_8ToUnicode(WCHAR*?pOut,?char?*pText)
{
????
char*?uchar?=?(char?*)pOut;

????uchar[
1]?=?((pText[0]?&?0x0F)?<<?4)?+?((pText[1]?>>?2)?&?0x0F);
????uchar[
0]?=?((pText[1]?&?0x03)?<<?6)?+?(pText[2]?&?0x3F);
}


void?CUTF8Charset::UnicodeToGB2312(char*?pOut,?WCHAR*?pText)
{
????::WideCharToMultiByte(CP_ACP,NULL,pText,
1,pOut,sizeof(WCHAR),NULL,NULL);
}


void?CUTF8Charset::Gb2312ToUnicode(WCHAR*?pOut,?char?*gbBuffer)
{
????::MultiByteToWideChar(CP_ACP,MB_PRECOMPOSED,gbBuffer,
2,pOut,1);
}


void?CUTF8Charset::UnicodeToUTF_8(char*?pOut,?WCHAR*?pText)
{
????
//?注意?WCHAR高低字的順序,低字節在前,高字節在后
????char*?pchar?=?(char?*)pText;

????pOut[
0]?=?(0xE0?|?((pchar[1]?&?0xF0)?>>?4));
????pOut[
1]?=?(0x80?|?((pchar[1]?&?0x0F)?<<?2))?+?((pchar[0]?&?0xC0)?>>?6);
????pOut[
2]?=?(0x80?|?(pchar[0]?&?0x3F));
}


void?CUTF8Charset::GB2312ToUTF_8(char?*pOut,?char?*pText,?int?pLen)
{
????
char?buf[4];
????memset(buf,
0,4);

????
int?i?=?0;
????
int?j?=?0;????
????
while(i?<?pLen)
????
{
????????
//如果是英文直接復制就可以
????????if(?*(pText?+?i)?>=?0)
????????
{
????????????pOut[j
++]?=?pText[i++];
????????}

????????
else
????????
{
????????????WCHAR?pbuffer;
????????????Gb2312ToUnicode(
&pbuffer,?pText+i);????????????
????????????UnicodeToUTF_8(buf,
&pbuffer);

????????????unsigned?
short?int?tmp?=?0;
????????????tmp?
=?pOut[j]?=?buf[0];
????????????tmp?
=?pOut[j+1]?=?buf[1];
????????????tmp?
=?pOut[j+2]?=?buf[2];????????????

????????????j?
+=?3;
????????????i?
+=?2;
????????}

????}

????pOut[j]?
=?'\0';
}


void?CUTF8Charset::UTF_8ToGB2312(char?*pOut,?char?*pText,?int?pLen)
{
????
int?i?=0;
????
int?j?=?0;
????
char?Ctemp[3]?=?"";

????
while(i?<?pLen)
????
{
????????
if(pText[i]?>?0)
????????
{
????????????pOut[j
++]?=?pText[i++];????????????
????????}

????????
else?????????????????
????????
{
????????????WCHAR?Wtemp;
????????????UTF_8ToUnicode(
&Wtemp,pText+i);
????????????UnicodeToGB2312(Ctemp,
&Wtemp);

????????????pOut[j]?
=?Ctemp[0];
????????????pOut[j?
+?1]?=?Ctemp[1];

????????????i?
+=?3;????
????????????j?
+=?2;???
????????}

????}

????pOut[j]?
=?'\0';
}


void?CUTF8Charset::GB2312ToUTF_8(CString?&strOut,?char?*pText,?int?pLen)
{????
????
int?nBufferLen?=?pLen?/?2?*?3;????//按照全是漢字的情況預留空間
????char?*rst?=?new?char[nBufferLen];
????memset(rst,
0,nBufferLen);

????GB2312ToUTF_8(rst,?pText,?pLen);

????strOut?
=?rst;
????delete?[]?rst;
????rst?
=?NULL;
}


void?CUTF8Charset::UTF_8ToGB2312(CString?&strOut,?char?*pText,?int?pLen)
{
????
char?*rst?=?new?char[pLen];
????memset(rst,
0,pLen);

????UTF_8ToGB2312(rst,?pText,?pLen);

????strOut?
=?rst;
????delete?[]?rst;
????rst?
=?NULL;
}
posted on 2006-05-12 15:07 雙魚座的程序員 閱讀(689) 評論(0)  編輯 收藏 引用

只有注冊用戶登錄后才能發表評論。
網站導航: 博客園   IT新聞   BlogJava   博問   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>
            亚洲小少妇裸体bbw| 亚洲伊人观看| 欧美xart系列在线观看| 91久久视频| 欧美激情一区二区三区高清视频| 久久全国免费视频| 在线日韩中文字幕| 亚洲黄色影片| 欧美日韩亚洲高清| 欧美一区二区三区日韩视频| 香蕉久久夜色精品| 尤物yw午夜国产精品视频| 欧美激情麻豆| 国产精品扒开腿做爽爽爽软件| 亚洲欧美在线一区二区| 欧美一级理论片| 亚洲黄网站在线观看| 亚洲精品日本| 国产亚洲人成网站在线观看 | 国模叶桐国产精品一区| 欧美成人免费全部观看天天性色| 欧美岛国激情| 午夜在线精品| 欧美99在线视频观看| 亚洲一区二区免费看| 久久精品国产亚洲精品 | 国产精品扒开腿做爽爽爽软件 | 国产一区二区三区在线观看网站| 欧美成人午夜剧场免费观看| 欧美日韩综合视频| 另类亚洲自拍| 国产精品色在线| 欧美黄色aa电影| 国产嫩草影院久久久久| 欧美激情视频给我| 国产欧美一区视频| 99在线视频精品| 亚洲电影在线| 一区二区三区高清不卡| 狠狠色丁香婷综合久久| 一本久久综合| 亚洲日本中文字幕免费在线不卡| 亚洲欧美资源在线| 99精品热视频只有精品10| 久久久91精品国产| 欧美一区二区视频在线观看| 欧美激情第一页xxx| 久久婷婷av| 国产农村妇女毛片精品久久麻豆| 亚洲肉体裸体xxxx137| 亚洲二区视频| 久久精品国产96久久久香蕉| 欧美一区视频在线| 国产精品久久久久一区二区三区 | 久久亚洲一区| 国产欧美日韩三区| 中文日韩电影网站| 亚洲小说区图片区| 欧美人妖另类| 亚洲精品韩国| 99这里有精品| 欧美日韩国产系列| 亚洲国产精品久久久久秋霞影院| 狠狠操狠狠色综合网| 欧美一级专区| 久久国产精品免费一区| 国产老女人精品毛片久久| 中国成人在线视频| 亚洲欧美日韩在线| 国产精品一区毛片| 欧美一区三区三区高中清蜜桃 | 亚洲国产精品传媒在线观看| 久久精品国产69国产精品亚洲| 欧美一区二区三区四区在线观看地址 | 欧美成人午夜激情在线| 亚洲成色777777女色窝| 欧美 日韩 国产在线| 欧美激情网友自拍| 一区二区免费在线播放| 欧美日韩精品欧美日韩精品| 一区二区激情视频| 久久国产精品久久精品国产| 国产欧美日韩在线| 久久久精品一区| 亚洲第一在线综合网站| 亚洲图片欧美一区| 国产精品视频网站| 久久久国产一区二区三区| 免费高清在线一区| 99这里只有久久精品视频| 欧美午夜大胆人体| 欧美一级久久| 亚洲国产老妈| 欧美一区二区精品久久911| 国产在线精品一区二区中文| 欧美成人有码| 亚洲欧美国产视频| 狼人社综合社区| 9l视频自拍蝌蚪9l视频成人| 国产精品视频精品| 快射av在线播放一区| 日韩亚洲一区在线播放| 久久精品亚洲| aa级大片欧美| 狠狠久久亚洲欧美专区| 欧美另类变人与禽xxxxx| 午夜精品久久| 99在线精品视频| 美女国产一区| 午夜久久一区| 亚洲精品黄色| 狠狠久久五月精品中文字幕| 欧美日韩在线观看一区二区| 久久久久久久精| 亚洲尤物精选| 亚洲精品视频一区| 免费成人av在线| 欧美一区二区三区播放老司机| 亚洲日本中文字幕区| 国产一区二区激情| 国产精品久久毛片a| 免费观看在线综合| 久久精品国产2020观看福利| 亚洲图片在区色| 亚洲精品欧美| 亚洲国产精品t66y| 欧美顶级大胆免费视频| 久久美女性网| 久久精品夜色噜噜亚洲a∨| 亚洲午夜一区二区| 日韩视频国产视频| 亚洲精品国产精品国自产在线| 韩国av一区二区三区四区| 国产精品国产三级国产普通话蜜臀| 欧美成人中文字幕在线| 久久青草久久| 久久视频一区二区| 久久久久国产精品午夜一区| 午夜精品久久久久久久久久久久久 | 欧美日产在线观看| 欧美精品18videos性欧美| 麻豆国产精品一区二区三区| 久久九九久久九九| 久久久久国色av免费观看性色| 欧美一区二区视频网站| 久久爱另类一区二区小说| 午夜在线视频一区二区区别| 亚洲影院免费| 性感少妇一区| 欧美在线免费观看| 久久久精彩视频| 麻豆成人在线| 欧美美女喷水视频| 欧美视频一区二区| 国产精品捆绑调教| 国产亚洲精品福利| 亚洲第一黄网| 日韩午夜激情| 亚洲影院一区| 久久久99国产精品免费| 美腿丝袜亚洲色图| 亚洲福利一区| 99成人在线| 亚洲欧美日韩一区二区三区在线观看| 亚洲一区二区三区乱码aⅴ蜜桃女| 亚洲一区网站| 久久久久久久999| 欧美久久久久| 国产欧美日韩在线视频| 亚洲国产成人精品女人久久久 | 久久精品国产亚洲aⅴ| 久热精品视频在线免费观看| 欧美激情一区二区三区在线视频| 最新国产乱人伦偷精品免费网站| 一区二区av| 久久精品亚洲热| 欧美日韩国产在线一区| 国产欧美亚洲视频| 亚洲第一色中文字幕| 亚洲影院色在线观看免费| 久久夜色精品国产噜噜av| 亚洲精品黄网在线观看| 欧美在线亚洲一区| 欧美激情精品久久久久久变态| 国产精品女主播在线观看| 国内精品久久久久久久影视麻豆 | 久久夜色精品一区| 亚洲乱码国产乱码精品精天堂| 亚洲永久在线观看| 欧美v国产在线一区二区三区| 国产精品高清在线| 亚洲欧洲精品一区二区三区波多野1战4 | 亚洲国产美女| 亚洲欧美一区二区三区久久| 免费人成精品欧美精品| 国产美女诱惑一区二区| 一区二区日韩| 亚洲电影视频在线| 久久国产手机看片| 国产精品国产自产拍高清av王其|