標籤:資料 os 學習 app ar har
很多時候我們需要得到一個英文字元的 ASCII 碼,或者一個漢字字元的 Unicode 碼,或者從相關的編碼查詢它是哪一個字元的編碼。很多人,尤其是從 VB 程式序轉過來學 C# 的人,會報怨 C# 裡為什麼沒有提供現成的函數來做這個事情——因為在 VB 中有 Asc() 函數和 Chr() 函數用於這類轉換。
但是如果你學過 C,你就會清楚,我們只需要將英文字元型資料強制轉換成合適的數值型資料,就可以得到相應的C#字元ASCII碼;反之,如果將一個合適的數值型資料強制轉換成字元型資料,就可以得到相應的字元。
C# 中字元的範圍擴大了,不僅包含了單位元組字元,也可以包含雙位元組字元,如中文字元等。而在字元和編碼之間的轉換,則仍延用了 C 語言的做法——強制轉換。不妨看看下面的例子
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");
}
它的運行結果是
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: 城
從這個例子中,我們便能非常清楚的瞭解——通過強制轉換,可以得以字元的編碼,或者得到編碼錶示的字元。如果你需要的不是 short 型的編碼,即可得到 int 等類型的編碼值。