日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

多字节与UTF-8、Unicode之间的转换

發(fā)布時間:2024/4/14 编程问答 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 多字节与UTF-8、Unicode之间的转换 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

from?http://blog.csdn.net/frankiewang008/article/details/12832239

?

  • //?多字節(jié)編碼轉(zhuǎn)為UTF8編碼??
  • bool?MBToUTF8(vector<char>&?pu8,?const?char*?pmb,?int32?mLen)??
  • {??
  • ?//?convert?an?MBCS?string?to?widechar???
  • ?int32?nLen?=?MultiByteToWideChar(CP_ACP,?0,?pmb,?mLen,?NULL,?0);??
  • ???
  • ?WCHAR*?lpszW?=?NULL;??
  • ?try??
  • ?{??
  • ????lpszW?=?new?WCHAR[nLen];??
  • ?}??
  • ?catch(bad_alloc?&memExp)??
  • ?{??
  • ????return?false;??
  • ?}??
  • ??
  • ?int32?nRtn?=?MultiByteToWideChar(CP_ACP,?0,?pmb,?mLen,?lpszW,?nLen);??
  • ???
  • ?if(nRtn?!=?nLen)??
  • ?{??
  • ????delete[]?lpszW;??
  • ????return?false;??
  • ?}??
  • ?//?convert?an?widechar?string?to?utf8??
  • ?int32?utf8Len?=?WideCharToMultiByte(CP_UTF8,?0,?lpszW,?nLen,?NULL,?0,?NULL,?NULL);??
  • ?if?(utf8Len?<=?0)??
  • ?{??
  • ?????return?false;??
  • ?}??
  • ?pu8.resize(utf8Len);??
  • ?nRtn?=?WideCharToMultiByte(CP_UTF8,?0,?lpszW,?nLen,?&*pu8.begin(),?utf8Len,?NULL,?NULL);??
  • ?delete[]?lpszW;??
  • ??
  • ?if?(nRtn?!=?utf8Len)??
  • ?{??
  • ?????pu8.clear();??
  • ?????return?false;??
  • ?}??
  • ?return?true;??
  • }??
  • ??
  • //?UTF8編碼轉(zhuǎn)為多字節(jié)編碼??
  • bool?UTF8ToMB(vector<char>&?pmb,?const?char*?pu8,?int32?utf8Len)??
  • {??
  • ????//?convert?an?UTF8?string?to?widechar???
  • ????int32?nLen?=?MultiByteToWideChar(CP_UTF8,?0,?pu8,?utf8Len,?NULL,?0);??
  • ??
  • ????WCHAR*?lpszW?=?NULL;??
  • ????try??
  • ????{??
  • ????????lpszW?=?new?WCHAR[nLen];??
  • ????}??
  • ????catch(bad_alloc?&memExp)??
  • ????{??
  • ????????return?false;??
  • ????}??
  • ??
  • ????int32?nRtn?=?MultiByteToWideChar(CP_UTF8,?0,?pu8,?utf8Len,?lpszW,?nLen);??
  • ??
  • ????if(nRtn?!=?nLen)??
  • ????{??
  • ????????delete[]?lpszW;??
  • ????????return?false;??
  • ????}??
  • ??
  • ????//?convert?an?widechar?string?to?Multibyte???
  • ????int32?MBLen?=?WideCharToMultiByte(CP_ACP,?0,?lpszW,?nLen,?NULL,?0,?NULL,?NULL);??
  • ????if?(MBLen?<=0)??
  • ????{??
  • ????????return?false;??
  • ????}??
  • ????pmb.resize(MBLen);??
  • ????nRtn?=?WideCharToMultiByte(CP_ACP,?0,?lpszW,?nLen,?&*pmb.begin(),?MBLen,?NULL,?NULL);??
  • ????delete[]?lpszW;??
  • ??
  • ????if(nRtn?!=?MBLen)??
  • ????{??
  • ????????pmb.clear();??
  • ????????return?false;??
  • ????}??
  • ????return?true;??
  • }??
  • ??
  • //?多字節(jié)編碼轉(zhuǎn)為Unicode編碼??
  • bool?MBToUnicode(vector<wchar_t>&?pun,?const?char*?pmb,?int32?mLen)??
  • {??
  • ????//?convert?an?MBCS?string?to?widechar???
  • ????int32?uLen?=?MultiByteToWideChar(CP_ACP,?0,?pmb,?mLen,?NULL,?0);??
  • ??
  • ????if?(uLen<=0)??
  • ????{??
  • ????????return?false;??
  • ????}??
  • ????pun.resize(uLen);??
  • ??
  • ????int32?nRtn?=?MultiByteToWideChar(CP_ACP,?0,?pmb,?mLen,?&*pun.begin(),?uLen);??
  • ??
  • ????if?(nRtn?!=?uLen)??
  • ????{??
  • ????????pun.clear();??
  • ????????return?false;??
  • ????}??
  • ????return?true;??
  • }??
  • ??
  • //Unicode編碼轉(zhuǎn)為多字節(jié)編碼??
  • bool?UnicodeToMB(vector<char>&?pmb,?const?wchar_t*?pun,?int32?uLen)??
  • {??
  • ????//?convert?an?widechar?string?to?Multibyte???
  • ????int32?MBLen?=?WideCharToMultiByte(CP_ACP,?0,?pun,?uLen,?NULL,?0,?NULL,?NULL);??
  • ????if?(MBLen?<=0)??
  • ????{??
  • ????????return?false;??
  • ????}??
  • ????pmb.resize(MBLen);??
  • ????int?nRtn?=?WideCharToMultiByte(CP_ACP,?0,?pun,?uLen,?&*pmb.begin(),?MBLen,?NULL,?NULL);??
  • ??
  • ????if(nRtn?!=?MBLen)??
  • ????{??
  • ????????pmb.clear();??
  • ????????return?false;??
  • ????}??
  • ????return?true;??
  • }??
  • ??
  • //?UTF8編碼轉(zhuǎn)為Unicode??
  • bool?UTF8ToUnicode(vector<wchar_t>&?pun,?const?char*?pu8,?int32?utf8Len)??
  • {??
  • ????//?convert?an?UTF8?string?to?widechar???
  • ????int32?nLen?=?MultiByteToWideChar(CP_UTF8,?0,?pu8,?utf8Len,?NULL,?0);??
  • ????if?(nLen?<=0)??
  • ????{??
  • ????????return?false;??
  • ????}??
  • ????pun.resize(nLen);??
  • ????int32?nRtn?=?MultiByteToWideChar(CP_UTF8,?0,?pu8,?utf8Len,?&*pun.begin(),?nLen);??
  • ??
  • ????if(nRtn?!=?nLen)??
  • ????{??
  • ????????pun.clear();??
  • ????????return?false;??
  • ????}??
  • ??
  • ????return?true;??
  • }??
  • ??
  • //?Unicode編碼轉(zhuǎn)為UTF8??
  • bool?UnicodeToUTF8(vector<char>&?pu8,?const?wchar_t*?pun,?int32?uLen)??
  • {??
  • ????//?convert?an?widechar?string?to?utf8??
  • ????int32?utf8Len?=?WideCharToMultiByte(CP_UTF8,?0,?pun,?uLen,?NULL,?0,?NULL,?NULL);??
  • ????if?(utf8Len<=0)??
  • ????{??
  • ????????return?false;??
  • ????}??
  • ????pu8.resize(utf8Len);??
  • ????int32?nRtn?=?WideCharToMultiByte(CP_UTF8,?0,?pun,?uLen,?&*pu8.begin(),?utf8Len,?NULL,?NULL);??
  • ??
  • ????if?(nRtn?!=?utf8Len)??
  • ????{??
  • ????????pu8.clear();??
  • ????????return?false;??
  • ????}??
  • ????return?true;??
  • } ?
  • 總結(jié)

    以上是生活随笔為你收集整理的多字节与UTF-8、Unicode之间的转换的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。

    主站蜘蛛池模板: 亚洲一片 | 91video | 综合视频| 欧美精品播放 | 国产免费a视频 | 日韩欧美高清在线观看 | 老色批网站 | 色无极在线 | 99热免费精品 | 青青草亚洲| 亚洲大片精品 | 久久精品人人爽 | 国产精品永久久久久久久久久 | 欧美成人91 | √天堂资源在线 | 国产调教av| 欧美韩日 | 很黄很污的视频网站 | 激情五月亚洲 | 欧美日韩不卡一区二区 | 国产h视频| 成人午夜小视频 | 日日操日日摸 | 成人精品一区二区三区 | 午夜国产免费 | 人与动物2免费观看完整版电影高清 | 国产黄色一级片视频 | 日韩久久一区二区 | 高h大肚孕期孕妇play | 欧美一级一区二区三区 | 99在线视频免费观看 | 国产一级特黄 | 韩国三级免费 | 婷婷激情久久 | 精国产人伦一区二区三区 | 欧美日韩一区二区三区四区 | 极品五月天 | 欧洲精品码一区二区三区免费看 | 少妇一级淫片免费视频 | 国产日韩在线视频 | 国产3页| 亚洲熟伦熟女新五十路熟妇 | 干爹你真棒插曲mv在线观看 | 国产精品久久久久三级无码 | 一本视频 | 激情视频网站在线观看 | 精品妇女一区二区三区 | 又黄又爽又刺激的视频 | 日本成人在线不卡 | 波多野结衣一区二区三区中文字幕 | 欧美色图亚洲自拍 | 亚洲欧美日韩视频一区 | 美女扒开屁股让男人捅 | 农村寡妇一区二区三区 | 欧美精品观看 | 亚洲精品视频二区 | 亚洲一级淫片 | 九一爱爱 | 精品国产97 | 朝桐光一区二区三区 | 亚洲暴爽| 在线视频日韩精品 | 伊人影院综合 | 日本黄色片网址 | 中文字幕第5页 | 久久久最新| 精品盗摄一区二区三区 | 国产精品毛片久久久久久久 | 一区二区三区国产在线观看 | 久久久久久久久久久99 | 久久91亚洲精品中文字幕奶水 | 国产成人在线观看网站 | 五月久久| 婷婷精品视频 | 99无码熟妇丰满人妻啪啪 | 18禁网站免费无遮挡无码中文 | 激情欧美一区二区 | www.午夜av | 亚洲av中文无码乱人伦在线观看 | 性久久久久久久久久久 | 夜夜综合| 成人在线视频一区 | 美女国产在线 | 国产大片b站 | 亚洲一区二区久久 | 日本v视频 | 日韩一区二区三区视频在线观看 | 久久综合激的五月天 | 欧美成免费 | 国产精品久久久久久久久晋中 | a一级网站 | 日本高清三区 | 欧美日韩影院 | 免费精品一区 | 中文在线www | 亚洲精选91 | 天堂激情网 | 久久7777 | 国产91大片|