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

woaidongmao

文章均收錄自他人博客,但不喜標題前加-[轉貼],因其丑陋,見諒!~
隨筆 - 1469, 文章 - 0, 評論 - 661, 引用 - 0
數據加載中……

C++的三種字符編碼方式

c++通常使用的是三種編碼方式,分別是SBCS(single byte character set),MBCS(multi-byte characterset)Unicode字符集。SBCS是一個字節一個字符,MBCS是幾個字節一個字符,可能是一個,兩個,三個不等,但是實際上,絕大多數時候使用兩個字節的,所以有時候看到DBCS(double-byte character set)代替MBCS也不奇怪;Unicode一律是兩個字節編碼。在windows nt內核中,API一律使用的是unicode編碼,所以如果你在編寫軟件過程中使用非unicode編碼方式,系統也會自動轉換成unicode執行,然后返回的結構再轉換為你使用的類型。單字節表示用charunicode使用wchar_t.我們是在單字節的光芒下成長起來的,一時間完全拋棄單字節未免難以接受,但是有些時候我們又不可避免的需要使用unicode字符集合,那么ms提供的解決辦法是泳宏:TChar

我們看看他的定義:

#ifdef UNICODE
typedef wchar_t TCHAR;
#else
typedef char TCHAR;
#endif

ok,一切問題都解決了,我們只需要定義UNICODE就一樣使用wchar_t,是很方便。另外,在windowsCOM中使用的一律是unicode,但是MFC默認的確實MBCS,所以你用MFC寫的類庫如果放到了COM下,有些字符的格式化方式或者返回值錯誤的,原因就是com一律使用unicode,而unicode使用wchar_t('00')結尾,char卻是使用'0'結尾的。一般情況下,普通字符需要加載_T宏才能正常運行,比如MFC中你寫道S = "FSDFSDF",那么該類轉到COM下,需要寫S = _T("FSDFSDF");才可以。我們可以想象宏_TTCHAr的功能一樣,如果使用UNICODE就自動在constant string前面加上L,否則就直接使用。

我們說一些小問題:

VC6生成的console application
int main(int argc, char* argv[])

VS C++ 2005生成的是

int _tmain(int argc, _TCHAR* argv[])

顯然,用_tmain更好,why?

You can also use _tmain, which is defined in TCHAR.h. _tmain will resolve to main unless _UNICODE is defined, in which case _tmain will resolve to wmain.(http://msdn2.microsoft.com/en-us/library/6wd819wh.aspx#).

我們也會常常看到如下一些字符類型,

WCHAR wchar_t wchar_t
LPSTR zero-terminated string of char (char*) zero-terminated string of char (char*)
LPCSTR constant zero-terminated string of char (const char*) constant zero-terminated string of char (const char*)
LPWSTR zero-terminated Unicode string (wchar_t*) zero-terminated Unicode string (wchar_t*)
LPCWSTR constant zero-terminated Unicode string (const wchar_t*) constant zero-terminated Unicode string (const wchar_t*)
TCHAR char wchar_t
LPTSTR zero-terminated string of TCHAR (TCHAR*) zero-terminated string of TCHAR (TCHAR*)
LPCTSTR constant zero-terminated string of TCHAR (const TCHAR*) constant zero-terminated string of TCHAR (const TCHAR*)
C
一般代表constantP代表指針,LP代表長指針,W代表寬字符,也就是UNICODE,這下是不是都能明白這些是干什么的了?

我們也會常常看到_mbsstr()這樣的函數,這就是MBCS字符編碼的函數,當然可以處理SBCS編碼,但是反之卻不行。所以為了保險起見,我們可以使用_mbsstr代替strstr,但是如果程序只是處理SBCS,那么顯然又影響效率,所以到底用什么方式同時滿足效率和可移植性,自己掂量著辦吧。

以后使用C++編寫程序,如果出現亂碼,首先檢查C++的編碼類型,而且一般情況下都是結束符號沒有弄對,SBCSMBCS都是以單字節0結尾,UNICODE是以雙字節00結尾的。

 

posted on 2008-11-07 22:33 肥仔 閱讀(742) 評論(0)  編輯 收藏 引用 所屬分類: 字符編碼

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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成人天堂| 午夜精品国产| 蜜桃av久久久亚洲精品| 91久久精品国产| 亚洲久久一区| 欧美一区二区三区四区在线观看 | 欧美亚洲尤物久久| 另类天堂视频在线观看| 欧美视频官网| 黄色成人91| 99视频精品在线| 新狼窝色av性久久久久久| 免费成人av| 亚洲一区二区三区乱码aⅴ| 久久久无码精品亚洲日韩按摩| 欧美高清视频一区二区| 国产麻豆日韩欧美久久| 亚洲高清在线播放| 亚洲一区欧美| 国产精品夜色7777狼人| 国产一区欧美| 亚洲一二三区在线观看| 久久综合五月| 中文精品视频| 欧美a级理论片| 国产一区二区三区久久精品| 99视频在线精品国自产拍免费观看 | 欧美一区二区私人影院日本| 老牛影视一区二区三区| 在线亚洲一区| 亚洲国产欧美日韩精品| 午夜精品区一区二区三| 欧美激情中文字幕一区二区| 国内精品视频一区| 亚洲欧美日韩国产综合| 欧美电影在线观看| 久久久久9999亚洲精品| 国产精品你懂得| 亚洲深夜福利| 亚洲三级视频在线观看| 美玉足脚交一区二区三区图片| 国产欧美日韩一级| 亚洲欧美精品在线观看| aⅴ色国产欧美| 欧美日韩网址| 中文久久精品| 99国产精品久久久久久久久久| 欧美电影在线观看完整版| 亚洲大片一区二区三区| 久久青草欧美一区二区三区| 欧美亚洲免费电影| 国产日韩久久| 国产一区二区中文| 久久久夜精品| 久久精品天堂| 亚洲丁香婷深爱综合| 亚洲丰满少妇videoshd| 欧美成人精品h版在线观看| 最新国产成人在线观看| 欧美成人视屏| 欧美另类高清视频在线| 亚洲一区二区日本| 亚洲综合999| 韩国一区二区三区在线观看 | 中文精品视频一区二区在线观看| 欧美日韩国产一级| 亚洲欧美在线一区| 欧美中文日韩| 日韩视频亚洲视频| 亚洲淫片在线视频| 黄色免费成人| 亚洲电影在线播放| 欧美精品国产精品日韩精品| 亚洲午夜久久久久久久久电影院| 亚洲图片在线观看| 性欧美videos另类喷潮| 亚洲人成网站在线播| 久久国产手机看片| 亚洲国产成人精品女人久久久| 亚洲国产毛片完整版 | 欧美一区二区三区四区在线| 在线成人小视频| 日韩午夜激情| 国语自产精品视频在线看抢先版结局 | 国产精品久久久久久久午夜片 | 欧美性一区二区| 久久久久久国产精品一区| 欧美国产日韩免费| 欧美在线亚洲一区| 欧美另类一区| 久久伊人免费视频| 欧美日韩亚洲天堂| 另类天堂视频在线观看| 欧美日韩视频专区在线播放 | 欧美影视一区| 欧美激情麻豆| 久久欧美中文字幕| 国产精品福利在线| 亚洲丰满少妇videoshd| 国产小视频国产精品| 亚洲理伦电影| 亚洲欧洲一区| 久久精品国产久精国产思思| 亚洲免费在线电影| 欧美激情视频网站| 欧美成人国产一区二区| 国产精品综合| 夜夜爽夜夜爽精品视频| 亚洲精品国产日韩| 久久久在线视频| 久久成人18免费观看| 欧美午夜视频在线观看| 91久久精品日日躁夜夜躁国产| 激情欧美国产欧美| 欧美一二三区精品| 久久精品99| 国产精品亚洲综合色区韩国| 99在线热播精品免费99热| 亚洲精品视频啊美女在线直播| 久久久久久久久久久久久9999| 欧美在线黄色| 国产一区二区按摩在线观看| 亚洲欧美日韩精品久久| 香蕉久久一区二区不卡无毒影院 | 欧美国产精品一区| 亚洲午夜女主播在线直播| 欧美国产日韩一区二区| 欧美电影免费观看| 精品盗摄一区二区三区| 欧美一区视频在线| 久久精品欧美日韩| 国产亚洲欧美另类一区二区三区| 亚洲自拍偷拍一区| 欧美一区二区在线免费观看| 国产精品综合网站| 欧美一区二区视频97| 久久久久久网址| 在线观看视频一区| 欧美 日韩 国产精品免费观看| 欧美国产日产韩国视频| 亚洲精品九九| 欧美性色综合| 欧美一级精品大片| 欧美xxx成人| 一本大道久久a久久综合婷婷| 欧美日韩高清在线一区| 亚洲私拍自拍| 久久综合网络一区二区| 亚洲精品国产精品乱码不99| 欧美日韩免费观看一区三区| 亚洲午夜电影在线观看| 久久久福利视频| 91久久精品一区| 国产精品久久久久久av下载红粉| 午夜精品久久久| 欧美国产综合| 亚洲综合色视频| 黄色日韩在线| 欧美片第1页综合| 亚洲综合首页| 亚洲福利视频三区| 欧美一区二区三区免费大片| 伊人成人开心激情综合网| 欧美精品系列| 久久精品国产精品亚洲| 日韩一二三在线视频播| 久久精品亚洲一区| 亚洲国产影院| 国产性色一区二区| 欧美三级视频| 免费不卡在线观看| 欧美亚洲视频在线观看| 99成人精品| 亚洲第一在线综合网站| 欧美一区二区三区免费看| 亚洲久久在线| 禁断一区二区三区在线| 欧美性jizz18性欧美| 麻豆精品在线观看| 久久成人免费网| 亚洲新中文字幕| 亚洲精品中文字幕在线| 欧美**人妖| 久久综合成人精品亚洲另类欧美| 亚洲伊人网站| 日韩亚洲精品视频| 亚洲大片一区二区三区| 国内精品久久久久久久果冻传媒 | 久久久久久久一区| 亚洲欧美日韩精品| 亚洲视频免费观看| 一区二区电影免费观看| 亚洲国产一二三| 亚洲福利一区| 欧美激情精品久久久久久变态|