C#字符ASCII碼學(xué)習(xí)經(jīng)驗(yàn)
C#語言有很多值得學(xué)習(xí)的地方,這里我們主要介紹C#字符ASCII碼,包括介紹漢字字符的 Unicode 碼等方面。
C#字符ASCII碼
很多時(shí)候我們需要得到一個(gè)英文字符的 ASCII 碼,或者一個(gè)漢字字符的 Unicode 碼,或者從相關(guān)的編碼查詢它是哪一個(gè)字符的編碼。很多人,尤其是從 VB 程序序轉(zhuǎn)過來學(xué) C# 的人,會(huì)報(bào)怨 C# 里為什么沒有提供現(xiàn)成的函數(shù)來做這個(gè)事情——因?yàn)樵?VB 中有 Asc() 函數(shù)和 Chr() 函數(shù)用于這類轉(zhuǎn)換。
但是如果你學(xué)過 C,你就會(huì)清楚,我們只需要將英文字符型數(shù)據(jù)強(qiáng)制轉(zhuǎn)換成合適的數(shù)值型數(shù)據(jù),就可以得到相應(yīng)的C#字符ASCII碼;反之,如果將一個(gè)合適的數(shù)值型數(shù)據(jù)強(qiáng)制轉(zhuǎn)換成字符型數(shù)據(jù),就可以得到相應(yīng)的字符。
C# 中字符的范圍擴(kuò)大了,不僅包含了單字節(jié)字符,也可以包含雙字節(jié)字符,如中文字符等。而在字符和編碼之間的轉(zhuǎn)換,則仍延用了 C 語言的做法——強(qiáng)制轉(zhuǎn)換。不妨看看下面的例子
- private void TestChar() {
- char ch = 'a'; short ii = 65;
- this.textBox1.Text = "";
- this.textBox1.AppendText("The ASCII code of \'"
+ ch + "\' is: " + (short) ch + "\n");- this.textBox1.AppendText("ASCII is " + ii.ToString() +
", the char is: " + (char) ii + "\n");- char cn = '中'; short uc = 22478;
- this.textBox1.AppendText("The Unicode of \'" + cn + "\' is:
" + (short) cn + "\n");- this.textBox1.AppendText("Unicode is " + uc.ToString() +
", the char is: " + (char) uc + "\n");- }
它的運(yùn)行結(jié)果是
- The ASCII code of 'a' is: 97
- ASCII is 65, the char is: A
- The Unicode of '中' is: 20013
- Unicode is 22478, the char is: 城
從這個(gè)例子中,我們便能非常清楚的了解——通過強(qiáng)制轉(zhuǎn)換,可以得以字符的編碼,或者得到編碼表示的字符。如果你需要的不是 short 型的編碼,即可得到 int 等類型的編碼值。
【編輯推薦】