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

woaidongmao

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

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

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

我們看看他的定義:

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

ok,一切問題都解決了,我們只需要定義UNICODE就一樣使用wchar_t,是很方便。另外,在windowsCOM中使用的一律是unicode,但是MFC默認(rèn)的確實MBCS,所以你用MFC寫的類庫如果放到了COM下,有些字符的格式化方式或者返回值錯誤的,原因就是com一律使用unicode,而unicode使用wchar_t('00')結(jié)尾,char卻是使用'0'結(jié)尾的。一般情況下,普通字符需要加載_T宏才能正常運行,比如MFC中你寫道S = "FSDFSDF",那么該類轉(zhuǎn)到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()這樣的函數(shù),這就是MBCS字符編碼的函數(shù),當(dāng)然可以處理SBCS編碼,但是反之卻不行。所以為了保險起見,我們可以使用_mbsstr代替strstr,但是如果程序只是處理SBCS,那么顯然又影響效率,所以到底用什么方式同時滿足效率和可移植性,自己掂量著辦吧。

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

 

posted on 2008-11-07 23:27 肥仔 閱讀(989) 評論(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>
            欧美在线视频全部完| 欧美在线日韩精品| 欧美一区二区三区免费大片| 国产精品久久久久久久久| 午夜精品久久99蜜桃的功能介绍| 欧美日韩人人澡狠狠躁视频| 免费在线国产精品| 国产欧美日韩综合一区在线观看 | 亚洲欧美中文日韩在线| 欧美主播一区二区三区美女 久久精品人 | 夜夜嗨av色综合久久久综合网| 欧美亚洲在线视频| 国产日韩免费| 国产日本欧洲亚洲| 日韩视频免费观看| 亚洲黄色天堂| 伊人夜夜躁av伊人久久| 欧美成人一区二区三区| 欧美有码视频| 99riav1国产精品视频| 亚洲女ⅴideoshd黑人| 欧美激情va永久在线播放| 亚洲五月婷婷| 日韩亚洲欧美中文三级| 亚洲丁香婷深爱综合| 亚洲精品久久久久| 国产精品扒开腿做爽爽爽软件| 亚洲免费观看| 欧美a级片网站| 欧美亚洲一区三区| 亚洲精品乱码久久久久久蜜桃麻豆 | 亚洲国产一区二区视频| 欧美日韩免费高清一区色橹橹| 亚洲毛片在线免费观看| 久久久久久久综合狠狠综合| 亚洲欧美一区二区原创| 国产在线不卡| 国产亚洲一区二区精品| 欧美国产国产综合| 日韩午夜免费| 欧美一区二区在线观看| 亚洲在线成人| 嫩草影视亚洲| 欧美淫片网站| 日韩一级视频免费观看在线| 一区二区欧美激情| 一区二区免费看| 午夜精品电影| 亚洲精品美女久久7777777| 久久久久久电影| 久久国产精品亚洲77777| 亚洲精品一区二区三区四区高清| 国内综合精品午夜久久资源| 一区二区三区日韩欧美| 在线播放中文一区| 伊人久久成人| 狠狠色伊人亚洲综合成人| 国产精品日韩精品欧美在线 | 亚洲欧美日韩在线不卡| 欧美国产免费| 狠狠色2019综合网| 国产色爱av资源综合区| 国产一级一区二区| 精品999在线观看| 亚洲精品中文在线| 欧美一区=区| 暖暖成人免费视频| 亚洲国产精品毛片| 欧美在线黄色| 欧美揉bbbbb揉bbbbb| 国产视频一区免费看| 韩国一区二区在线观看| 欧美亚洲免费电影| 国产精品系列在线播放| 极品尤物久久久av免费看| 亚洲欧洲在线看| 久久av二区| 亚洲网站视频| 欧美绝品在线观看成人午夜影视| 日韩系列在线| 亚洲一区美女视频在线观看免费| 日韩亚洲视频在线| 欧美日韩成人在线播放| 亚洲视频精选在线| 亚洲国产精品一区二区www| 小黄鸭精品密入口导航| 国产欧美日韩中文字幕在线| 欧美一级久久| 一区二区三区免费观看| 国产亚洲欧美一区二区| 久久精品在线观看| 欧美第一黄网免费网站| 亚洲欧洲午夜| 99这里只有久久精品视频| 欧美三级乱码| 午夜精品一区二区三区在线视 | 午夜久久美女| 狠狠色丁香久久综合频道| 蜜桃av久久久亚洲精品| 欧美午夜一区二区三区免费大片| av不卡在线看| 亚洲专区一区二区三区| 国产亚洲福利| 蜜臀久久99精品久久久画质超高清| 美女视频黄 久久| 午夜精品亚洲| 国产精品入口| 欧美二区不卡| 老司机一区二区三区| 亚洲私人影院| 亚洲欧美日韩区| 欧美极品一区二区三区| 久久理论片午夜琪琪电影网| 久久精品一区二区| 欧美亚洲在线播放| 国产综合色精品一区二区三区| 欧美福利在线| 在线观看亚洲精品视频| aa级大片欧美三级| 欧美一区二区大片| 国产日韩欧美一区二区三区在线观看 | 欧美精品少妇一区二区三区| 久久亚洲精品欧美| 国产精品乱子久久久久| 久久久人成影片一区二区三区观看| 久久国产手机看片| 国产亚洲va综合人人澡精品| 久久午夜视频| 午夜精品国产精品大乳美女| 极品少妇一区二区三区| 午夜国产精品视频| 久久综合久久综合这里只有精品 | 国产精品国产三级国产专播精品人| 亚洲黄一区二区三区| 欧美在线免费视屏| 久久精品91久久久久久再现| 99精品热视频只有精品10| 欧美中文在线视频| 亚洲天堂av在线免费| 这里是久久伊人| 狠狠色噜噜狠狠色综合久| 久久影院亚洲| 亚洲国产精品久久久久婷婷884| 亚洲一级在线观看| 亚洲经典自拍| 精品不卡在线| 欧美午夜欧美| 米奇777在线欧美播放| 欧美一区二区三区四区在线观看地址 | 日韩香蕉视频| 午夜精品影院在线观看| 国内精品久久久久久| 欧美国产一区二区三区激情无套| 亚洲人成在线观看网站高清| 亚洲午夜91| 一区二区三区视频在线播放| 夜夜嗨av一区二区三区网站四季av| 国产一本一道久久香蕉| 在线日韩中文字幕| 国产亚洲美州欧州综合国| 欧美日韩午夜在线| 欧美成人tv| 国产精品久久久久一区二区| 国产精品美女www爽爽爽| 国产精品永久免费观看| 国产精品高潮呻吟视频| 国产午夜精品全部视频在线播放 | 欧美在线短视频| 亚洲精品看片| 日韩一区二区高清| 午夜精品免费视频| 亚洲一区三区电影在线观看| 亚洲一区二区四区| 国产一区二区三区观看| 99精品欧美一区二区三区综合在线| 亚洲国产合集| 欧美成人资源网| 亚洲国产精品久久91精品| 久久综合伊人77777| 一区二区三区高清在线| 久久国产视频网站| 国产精品麻豆va在线播放| 日韩一级免费观看| 性做久久久久久久免费看| 蜜桃av久久久亚洲精品| 欧美日韩在线另类| 国产婷婷色综合av蜜臀av | 激情成人av在线| 午夜精品久久久久久| 亚洲欧美日本国产有色| 午夜精品美女久久久久av福利| 欧美a级大片| 日韩午夜在线观看视频| 亚洲国产精品美女| 欧美国产第一页| 宅男精品导航| 国产伦精品一区二区三区免费| 亚洲欧美日韩国产中文在线| 9色porny自拍视频一区二区| 日韩视频中文字幕|