C 中處理字符集與常見字符集介紹

2021-09-12 08:49:42 字數 2088 閱讀 8324

c++提供不同的字元型別用以應付前述字符集:

·char可被用於所有8bit以下的字符集,例如us-ascii、iso-latin-1和iso-latin-9。此外它可被用於utf-8的8bit值。

·char16_t(始自c++11)可被用於ucs-2,也可用於utf-16的code unit。

·char32_t(始自c++1l)可被用於ucs-4/utf-32。

·wchar_t是所有被支援之locale中的最大擴充字符集內的型別。它通常等價於char16t或 char32t。

所有這些型別都是語言關鍵字,你可以根據這些型別對任何函式進行過載(overload)。然而請注意,對char16_t和char32_t的支援是有限度的。雖然character trait提供了處理unicode string的能力,但目前的i/o並不存在針對那些型別的過載版本。

最重要的字符集如下:

us-asci,這是個7-bit字符集,於2023年完成標準化,用於電傳打字機( teleprinter)和其他裝置,所以最開始的16個值是不可列印字元( nonprintable character)如 carriage return. horizontal tab(水平製表符)、 backspace(回退鍵)或bell(鈴聲鍵)等。這個字符集是其他所有字符集的基礎,往往各字符集內介於0x20和0x7f之間有著與此相同的字元

iso- latin-1或iso-8859-1(見 (isolatin1),這是個8-bit字符集,於2023年完成標準化,提供西歐語言之所有字元。這個字符集也作為其他所有字符集的基礎,往往各字符集內介於0x20至0x7f和0xa0至0xff之間有著與此相同的字元。

iso- latin-9或iso-8859-15(見 (isolatin9),這是個8-bit字符集,於2023年完成標準化,是西歐語言之所有字元的增強版,以歐元(curo)符號和其他特殊字元替換了若干不普遍的符號

ucs-2,這是個16-bit定長字符集,提供 niversal character set(全球字符集)和unicode(統一碼)中最重要的65536個字元

utf-8(見iutf81),這是個multibyte字符集,使用1~4個8bit值,用來表現 universal character ser(全球字符集)和 unicode(統一碼)的所有字元。它被廣泛使用於全球資訊網(world wide web)

utf-16,這是個multibyte字符集,使用1~2個 code unit(每個16bit),用來表現universal character set(全球字符集)和 unicode(統一碼)之所有字元

ucs-4或utf-32,這是個32-bit定長字符集,提供 universal character set(全球字符集)和 unicode(統一碼)之所有標準化字元。

注意,utf-16和utf-32可能會在其完整字串行一開始放個 byte onder mark(bom),用以標示它所使用的是big- endian(此為預設)或 lintle-endian,這兩者代表某種byte排列次序。另外你也可以明確指出欲使用utf-16be、utf-16le、utf-32be或utf-32le。

圖16.1顯示了以某個一連串字元為例的各種十六進製制編碼( hexadecimal encoding),此圖給出了尋常的asci字元、德文中的母音變化、歐元符號e。此處的utf-16和utf-32並未使用 byte order mark那樣的mark應該會有數值0 xfeff

注意,utf-16和ucs-2在 oxffff之前幾平完全相同。只有面對若干不存在於ucs-2的軍見字元時,utf-16使用兩個16 bit code unit,但必須在ucs-2是 multibyte字符集的前提下。

c++ 標準庫 2nd

mysql常見字符集 MySQL字符集

一.字符集介紹 什麼是字符集 charset 字符集 是乙個系統支援的所有抽象字元的集合。字元是各種文字和符號的總稱,包括各國家文字 標點符號 圖形符號 數字等。1.gbk gb2312 gbk gb2312 採用雙位元組字符集,不論中 英文本元均使用雙字元來表示,為了區分中文,將其最高位都設定成1...

常見字符集 亂碼問題

常用字符集分類 ascii及其擴充套件字符集 作用 表語英語及西歐語言。位數 ascii是用7位表示的,能表示128個字元 其擴充套件使用8位表示,表示256個字元。範圍 ascii從00到7f,擴充套件從00到ff。iso 8859 1字符集 作用 擴充套件ascii,表示西歐 希臘語等。位數 8...

Oracle 字符集常見字符集及解決方案

oracle 字符集常見字符集及解決方案 一.檢視字符集 1.查詢服務端字符集 2.查詢客戶端 select from nls instance parameters 客戶端字符集與服務端字符集不一致就會出現亂碼等問題 3.會話字符集 二.修改字符集 開啟登錄檔 cmd regedit hkey l...