單字節字符串、寬字符串和多字節字符串

調查報告:瞭解單字節字符串、寬字符串 和多字節字符串等C/C++語言字符串表示方 法,總結其原理、存儲、操作、應用等特 徵,並編制報告。

單字節字符串(Single-Byte): 原理:每個字符用一個字節表示。這就決定了單字節字符集不可能包含256個以上 的字符。單字節字符包含拉丁文字母表,重音字符(accented characters)及ASCII標準和DOS操作系統定義的圖形字符。存儲:一個byte儲存。單字節NULL字符(“\0”)的值是 0x00 並且指示終止空字符。操作: char類型操作。
應用:範圍 0x00 到 0xFF。表示ASCII 字符集以及許多歐洲語言。

寬字符串(Wide Character),也稱爲Unicode字符。原理:Unicode是一種所有的字符都使用兩個字節編碼的編碼模式。存儲:2個字節存儲。寬字符串使用兩個字節表示的0作爲它的結束標誌。操作:wchar_t操作。應用:不論數字,英文,還是其他字符都用2個字節標識,大大提高了字符串的兼容性

多字節字符串:原理:多字節字符集 可能包括單字節和雙字節字符。 儲存:多字節字符串可以包含單字節和雙字節字符混合。 兩位的多字節字符有一個前導字節和尾字節。多字符字符串的結束標誌也是一個單字節表示的0。 操作:在Shift-JIS編碼中(一個常用的日文編碼模式),0x81-0x9f之間和0xe0-oxfc之間的值表示"這是一個雙字節字符,下一個子節是這個字符的一部分。“這樣的值被稱作"leadingbytes”,他們都大於0x7f。跟隨在一個leadingbyte子節後面的字節被稱作"trailbyte"。在某個多字節字符集內,前導字節位於某個特定範圍內,尾字節也一樣。 當這兩種範圍重疊時,可能需要計算上下文以確定某個給定的字節是用作前導字節還是尾字節。應用:對於諸如泰語和越南語之類的語言,一些遺留編碼具有多字節字符集的一些複雜性,但是實際上僅僅基於組合字符,並且通常不與廣義術語“多字節”混淆。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章