關於c 字符集

2021-09-30 07:34:34 字數 1107 閱讀 9931

1.vc專案中字符集設定的作用?(當然這個屬於vc++)

2.c++中l和_t究竟代表了什麼?

在我看來,字符集設定只是影響了tchar以及與之有關的函式。

1. 漢字編碼方式的介紹

對英文本元的處理,7位ascii碼字符集中的字元即可滿足使用需求,且英文本元在計算機上的輸入及輸出也非常簡單,因此,英文本元的輸入、儲存、內部處理和輸出都可以只用同乙個編碼(如ascii碼)。

而漢字是一種象形文本,字數極多(現代漢字中僅常用字就有

六、七千個,總字數高達5萬個以上),且字形複雜,每乙個漢字都有"音、形、義"三要素,同音字、異體字也很多,這些都給漢字的的計算機處理帶來了很大的困難。要在計算機中處理漢字,必須解決以下幾個問題:首先是漢字的輸入,即如何把結構複雜的方塊漢字輸入到計算機中去,這是漢字處理的關鍵;其次,漢字在計算機內如何表示和儲存?如何與西文相容?最後,如何將漢字的處理結果從計算機內輸出?

為此,必須將漢字**化,即對漢字進行編碼。對應於上述漢字處理過程中的輸入、內部處理及輸出這三個主要環節,每乙個漢字的編碼都包括輸入碼、交換碼、內部碼和字形碼。在計算機的漢字資訊處理系統中,處理漢字時要進行如下的**轉換:輸入碼→交換碼→內部碼→字形碼。

(1) 輸入碼: 作用是,利用它和現有的標準西文鍵盤結合來輸入漢字。輸入碼也稱為外碼。主要歸為四類:

a)       

數字編碼:數字編碼是用等長的數字串為漢字逐一編號,以這個編號作為漢字的輸入碼。例如,區位碼、電報碼等都屬於數字編碼。

b)       

拼音碼:拼音碼是以漢字的讀音為基礎的輸入辦法。

c)       

字形碼:字形碼是以漢字的字形結構為基礎的輸入編碼。例如,五筆字體碼(王碼)。

d)       

音形碼:音形碼是兼顧漢字的讀音和字形的輸入編碼。

(2) 交換碼:用於漢字外碼和內部碼的交換。交換碼的國家標準代號為gb2312-80。

(3) 內部碼:內部碼是漢字在計算機內的基本表示形式,是計算機對漢字進行識別、儲存、處理和傳輸所用的編碼。內部碼也是雙位元組編碼,將國標碼兩個位元組的最高位都置為"1",即轉換成漢字的內部碼。

(4) 字形碼:字形碼是表示漢字字形資訊(漢字的結構、形狀、筆劃等)的編碼,用來實現計算機對漢字的輸出(顯示、列印)。

ZT 關於字符集

utf8 全包容了gbk 並不是說超集和子集 8i 的資料庫 的 utf8 是 4位定長的字元編碼 9i 和以上資料庫的utf8 有4位定長 和 不定長的 utf8 都是unicode編碼 其中,utf8 編碼中 字元大多是三位元組的編碼,乙個漢字是 3位元組的編碼 zhs16gbk 並不是unic...

關於Oracle設定字符集

網上很多,說的比較明白的個人推薦 參考 oracle 客戶端 nls lang 的設定 不用修改全部,只修改最後一部分即可,前半部分作為提示語言使用,如果前半部分不能匹配,只是oracle提示會出現?simplified chinese china.zhs16gbk american america...

mysql api 字符集 MySQL字符集

mysql字符集包括字符集 character 和 collation 兩個概念。字符集是用來定義mysql儲存字串的規則,校對規則則是定義了比較字串的方式。字串和校對規則是一對多的 關係。使用命令 show collation like gbk 可檢視相關的校對規則 使用 show charact...