首頁  >   經驗  >   C++語言零基礎入門教程:4.8 字符類型的編程應用分析

C++語言零基礎入門教程:4.8 字符類型的編程應用分析

查看 codexia 的博客 2016-08-11 23:50:58 1847 會員文章,禁止轉載
C++   入門  
手機閱讀 | 轉發賺積分
手機收藏 | 分享給好友
簡介本節全面講解了字符類型的編程應用分析,分析了Unicode和多字節字符集與char、wcahr_t的關系,還介紹了TCHAR。Unicode和多字節字符集在內存中是如何存儲的,編譯器如何識別不同的字符集,都有所介紹。
    在4.6和4.7節中,我們講述了字符類型的來龍去脈以及基本數據類型的動態模型,來加深了對數據類型的理解。那么本節我們將進一步來解釋字符類型在編程中的應用分析。
    如果只工作在英文字符界面,所有的提示和顯示內容都是英文單詞和英文的標點符號,我們只需要單字節表示的字符,即窄字符。而如果我們要顯示漢字這樣的字符,以及漢子標點符號,那么單字節無法表示我們國家的字符了。所以要使用兩個字節。
    單字節字符我們用關鍵字char表示字符類型,雙字節的字符用wchar_t表示一個字符。雙字節字符一個字符占兩個字節哦。這也是我們平常說一個漢字等于兩個英文字符的大小的原因。那么,英文字符可不可以用兩個字節來表示呢?當然可以。但是英文字符數量有限,一個字節已經夠了,那么多出來的一個字節,全是0。不要以為這樣的做法沒有意義哦,在Unicode字符集編碼中,最小編碼的就是美國英文字符,也就是我們常常聽說的ASCII字符編碼表。因為所有這些字符一個字節就表示完了,所以另外一個字節就沒東西可放了,就留空了。
    為什么空著還要保留這個字節呢?因為在標準的Unicode編碼規則中,統一用兩個字節存儲一個字符,所以即使用不了,你空著就行了。這樣在存儲形式上簡單統一,在字符處理的時候,就方便。而且,在判斷中文和英文字符時,我們就可以利用第一個字節是否為0,就可以辨別中文和英文字符了。
    那么你想到的用不著兩個字節的ASCII字符就用一個字節,用得著的漢子就用兩個字節,這樣豈不是更加節省內存。是的!你真聰明,這就是多字節字符集。
    默認情況下,我們在C++控制臺代碼中,使用字符串的時候,直接中文英文混用了。默認的,編譯器就會按照多字節字符集來存儲和讀取這些字符串了。

    下面簡單看看Unicode和多字節字符集如何存儲字符的,如下圖所示:

開通會員付1C幣>>閱讀全文
標注
評論
站內搜
百度搜
傳送到手機
手機掃碼,識別文字,完成傳送x
加載中...
標注內容x
加載中...
添加標注x
收藏 0 點贊 0
公眾號
微信贊賞
支付寶贊賞
領支付寶大紅包
QQ群

相關閱讀

分享到:
分享文章[C++語言零基礎入門教程:4.8 字符類型的編程應用分析]到QQ空間
时时计划软件免费版 一兆配资 全球指数行情行情中心股票网查询 炒股软件有用吗 广东时时彩 雪缘园比分 足彩进球彩 股票推荐_天牛宝有信 雪缘园即时比分直播 河北快三 新时时彩 新牛人配资 新浪财经股票直播 江西快3 足彩胜负彩 湖北快3 贵州快三