連載
» 2007年03月22日 05時00分 公開

.NET TIPS:文字のASCII(アスキー)コードを得るには?[C#、VB]

ASCII(アスキー)コードとは、制御文字や半角の記号、数字、英大小文字に割り当てられた文字のコードである。このうちコードが0〜127である標準のASCIIコードを、C#およびVB.NETで扱う方法を解説する。

[遠藤孝信,デジタルアドバンテージ]
「.NET TIPS」のインデックス

連載目次

 ASCII(アスキー)コードとは、制御文字や半角の記号、数字、英大小文字に割り当てられた文字のコードである(本稿ではコードが0〜127の標準のASCIIコードのみを扱う)。

文字からASCIIコードへの変換

 C#で、ある文字のASCIIコードを得るには、単にint型にキャストすればよい。

char c1 = 'a';
int code1 = (int)c1;

Console.WriteLine(code1); // 出力:97

キャストによる文字からASCIIコードへの変換(C#)

 VBではChar型からInteger型へのキャストは行えず、代わりにAsc関数(あるいはAscW関数)を使用する。

Dim c1 As Char = "a"
Dim code1 As Integer = Asc(c1)

Console.WriteLine(code1) ' 出力:97

Asc関数による文字からASCIIコードへの変換(VB)

 あるいは、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

Convertクラスによる文字からASCIIコードへの変換(上:C#、下:VB)

ASCIIコードから文字への変換

 逆にASCIIコードから文字を得るには、C#では、やはりchar型へキャストするだけでよい。

int code3 = 99;
char c3 = (char)code3;

Console.WriteLine(c3); // 出力:c

キャストによるASCIIコードから文字への変換(C#)

 一方、VBではChr関数(あるいはChrW関数)を使用する。

Dim code3 As Integer = 99
Dim c3 As Char = Chr(code3)

Console.WriteLine(c3) ' 出力:c

Chr関数によるASCIIコードから文字への変換(VB)

 あるいは、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

ConvertクラスによるASCIIコードから文字への変換(上:C#、下:VB)

 制御文字(コードは0〜31)については画面上に表示できないため、文字の種類を画面で確認したい場合などではASCIIコードが役立つ。ちなみに、ある文字が制御文字かどうかはCharクラス(System名前空間)のIsControlメソッドによりチェックできる。

カテゴリ:クラス・ライブラリ 処理対象:文字列
使用ライブラリ:Asc関数(Microsoft.VisualBasic名前空間)
使用ライブラリ:Chr関数(Microsoft.VisualBasic名前空間)
使用ライブラリ:Convertクラス(System名前空間)
使用ライブラリ:Charクラス(System名前空間)


「.NET TIPS」のインデックス

.NET TIPS

Copyright© Digital Advantage Corp. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。