文字のASCII(アスキー)コードを得るには?[C#、VB]:.NET TIPS
ASCII(アスキー)コードとは、制御文字や半角の記号、数字、英大小文字に割り当てられた文字のコードである。このうちコードが0〜127である標準のASCIIコードを、C#およびVB.NETで扱う方法を解説する。
ASCII(アスキー)コードとは、制御文字や半角の記号、数字、英大小文字に割り当てられた文字のコードである(本稿ではコードが0〜127の標準のASCIIコードのみを扱う)。
文字からASCIIコードへの変換
C#で、ある文字のASCIIコードを得るには、単にint型にキャストすればよい。
char c1 = 'a';
int code1 = (int)c1;
Console.WriteLine(code1); // 出力:97
VBではChar型からInteger型へのキャストは行えず、代わりにAsc関数(あるいはAscW関数)を使用する。
Dim c1 As Char = "a"
Dim code1 As Integer = Asc(c1)
Console.WriteLine(code1) ' 出力:97
あるいは、Convertクラス(System名前空間)のToInt32メソッドを利用してもよい。当然ながらこのメソッドはC#でもVBでも利用できる。
char c2 = 'b';
int code2 = Convert.ToInt32(c2);
Console.WriteLine(code2); // 出力:98
Dim c2 As Char = "b"
Dim code2 As Integer = Convert.ToInt32(c2)
Console.WriteLine(code2) ' 出力:98
ASCIIコードから文字への変換
逆にASCIIコードから文字を得るには、C#では、やはりchar型へキャストするだけでよい。
int code3 = 99;
char c3 = (char)code3;
Console.WriteLine(c3); // 出力:c
一方、VBではChr関数(あるいはChrW関数)を使用する。
Dim code3 As Integer = 99
Dim c3 As Char = Chr(code3)
Console.WriteLine(c3) ' 出力:c
あるいは、ConvertクラスのToCharメソッドを利用する。
int code4 = 100;
char c4 = Convert.ToChar(code4);
Console.WriteLine(c4); // 出力:d
Dim code4 As Integer = 100
Dim c4 As Char = Convert.ToChar(code4)
Console.WriteLine(c4) ' 出力:d
制御文字(コードは0〜31)については画面上に表示できないため、文字の種類を画面で確認したい場合などではASCIIコードが役立つ。ちなみに、ある文字が制御文字かどうかはCharクラス(System名前空間)のIsControlメソッドによりチェックできる。
カテゴリ:クラス・ライブラリ 処理対象:文字列
使用ライブラリ:Asc関数(Microsoft.VisualBasic名前空間)
使用ライブラリ:Chr関数(Microsoft.VisualBasic名前空間)
使用ライブラリ:Convertクラス(System名前空間)
使用ライブラリ:Charクラス(System名前空間)
Copyright© Digital Advantage Corp. All Rights Reserved.