ASCIIコードを変換する方法

ASCIIコードはAmerican Standard Code for Information Interchangeの略で、コンピュータで標準的に使用されている最も基本的な文字コードの一つです。アメリカ規格協会(ANSI)により定められ、制御文字や半角記号・数字・英語(大文字および小文字)・空白文字など128文字が収録されています。1文字を7ビットの整数(0~127)で表現しており、16進数表記では00~7fの範囲で表されます。

Excelの関数を用いたASCIIコードの変換

ASCIIコードに割り当てられている数字を変換する方法は色々ありますが、文字コード⇔文字列の変換はExcelの標準的な関数を使用して行うこともできます。

文字→ASCIIコードへの変換

英数字からASCIIコード(数値)への変換は下記の通りCODE関数を使用して行います。

=CODE("変換対象となる文字")

例えばExcelのセルに=CODE("b")と打ち込んでEnterキーを押すと98と表示されます。これはアルファベットの小文字のbがASCIIコードでは10進数で98であるということを意味しています。ちなみに=CODE("bag")などと複数の文字列を打ち込むと最初の文字(b)だけが変換対象になっていることに注意してください。このようにExcelの関数でASCIIコード変換を行う場合は一文字ずつ指定することとなります。

ASCIIコード→文字への変換

ASCIIコードから英数字への変換は下記の様にCHAR関数を使用します。

=CHAR(ASCIIコードを意味する数字)

例えばExcelのセルに=CHAR(99)と打ち込んでEnterキーを押すとcと表示されます。これはCHAR関数によりASCIIコードを意味する数字が文字へと変換されているのです。ちなみに括弧内に文字列や文字コードではない数字を入力すると#VALUE!とエラー表示されます。またCHAR(13)などと打ち込むと何も表示されませんが、これは制御文字という画面に表示されない符号を指定したことによるものです。

大文字と小文字の変換

ASCII文字コードを一覧にしてみると、アルファベット順に数値が並んでいることが分かりますが、例えば大文字のAは65、小文字のaは97が割り当てられているので32を足すと大文字→小文字変換を、32を引くと小文字→大文字変換を行うことができます。このことを念頭に置いて=CHAR(65+32)のように関数を組み立てると色々と応用できそうですね。

文字⇔ASCIIコード間の変換はExcel以外にもC言語やjava、perlなど様々なプログラムで行うことができます。原理はどの言語も同じで、文字コードに割り当てられている数字から当てはまる文字に変換するというものです。プログラミング言語には各々文字コード変換を行うための便利な関数が用意されていますが、そもそものASCIIコードと文字の関係性を知ることがエラーの無いプログラミングを行うために重要です。

ASCIIコードを変換するWebサービス

ASCIIコードの内容やプログラミングに詳しくなくてもインターネット上には文字コード変換を行うことができる便利なツールが色々と公開されています。

ASCIIコード変換機

サイト内の入力フォームに文字列またはASCIIコードを打ち込むとASCIIコードや文字列に変換してくれるサイトです。変換方法も2進数・8進数・10進数・16進数等から選択できるので、ASCIIコードがどのように表現されていても対応できる優れものです。

まとめ

ASCIIコードは各英数字に割り当てられた数字で、変換も比較的容易に行うことができます。ASCIIコードは文字コードの基本とも言われているので改行などのよく使用するコードなどは暗記してしまうのも一つの方法ですが、やはり変換方法を知っておくと心強いですね。様々な文字コードとの互換性があり重要視されているASCIIコードの扱い方をぜひ活用してみてください。