開発

ASCIIコードとは|7ビットで128文字・制御文字と印字可能文字・A=65の規則を解説

ASCIIコードは、アルファベットや数字などの文字を数値(ビットの並び)に対応づけた、もっとも基本的な文字コードです。本記事では「ASCIIコードとは何か」から、7ビットで128文字を表す仕組み、制御文字と印字可能文字の違い、A=65・a=97・0=48という対応の規則、拡張ASCII、UnicodeやUTF-8との関係、文字と数値の変換までをやさしく解説します。

公開: 2026-10-16

コンピューターは内部ではすべてを0と1の数値で扱っています。では「A」や「7」といった文字は、どうやって数値として記憶されているのでしょうか。その橋渡しをする取り決めが文字コードであり、その出発点となったのがASCIIコードです。本記事では、ASCIIコードとは何か、なぜ128文字なのか、A=65のような対応はどう決まっているのかを順を追って解説します。

ASCIIコードとは何か

ASCII(American Standard Code for Information Interchange、アスキー)とは、アルファベットや数字、記号などの文字に対して、それぞれ固有の数値を割り当てた文字コードの規格です。1963年にアメリカで制定され、コンピューター同士が文字情報をやり取りするための共通ルールとして広く普及しました。今日使われているほとんどの文字コードは、このASCIIを土台として拡張されています。

ASCIIの役割は、ひとことで言えば「文字」と「数値」を一対一で対応づける変換表です。たとえば大文字の「A」には65、小文字の「a」には97という数値が割り当てられています。コンピューターは文字そのものを記憶できないため、こうした数値に置き換えて保存・送受信し、表示するときに再び文字へ戻しているのです。

実際にどの文字がどの数値に対応するのかは、ASCII変換ツールに文字を入力して数値へ変換してみると一目で分かります。逆に数値から文字へ戻すこともでき、対応関係を手を動かして確かめられます。

7ビットで128文字を表す仕組み

ASCIIの大きな特徴は、1文字を7ビットで表す点にあります。ビットとは0か1のどちらかを取る最小の単位で、7個並べると組み合わせは2の7乗、すなわち128通りになります。この128通りに、0から127までの番号(文字コード)を割り当てているわけです。

2の7乗 = 128 → コード番号 0〜127

現代のコンピューターはデータを8ビット(1バイト)単位で扱うことが多いため、ASCII文字も実際には1バイトで格納されます。このとき余る最上位の1ビットは、本来の標準ASCIIでは0に固定されます。つまり、1バイトの前半半分(0〜127)が標準ASCIIの領域というわけです。

  • 7ビット:標準ASCIIが定義する範囲。0〜127の128文字。
  • 最上位ビット:標準ASCIIでは0。残りの128〜255は後述の拡張ASCIIで使われます。

この128文字という枠は、英語の読み書きに必要な要素をほぼ網羅できる絶妙なサイズでした。アルファベットの大文字・小文字、数字、記号、そして画面や通信を制御するための特殊な符号が、すべてこの中に収められています。

制御文字と印字可能文字

0〜127の128文字は、性質によって大きく2つのグループに分かれます。制御文字と印字可能文字です。

区分コード範囲内容
制御文字0〜31 と 127改行・タブなど画面に形を持たない命令
印字可能文字32〜126スペース・記号・数字・英字など目に見える文字

制御文字は、それ自体は画面に文字として表示されません。たとえばコード10は改行(LF)、コード9は水平タブ(TAB)、コード13は復帰(CR)で、これらはテキストの整形や機器の動作を指示するための符号です。古い通信機器を制御する目的で作られた名残で、現在はあまり使われないものも含まれています。

印字可能文字は、私たちが普段目にする文字です。コード32はスペース(空白)、コード48〜57が数字の「0」〜「9」、コード65〜90が大文字の「A」〜「Z」、コード97〜122が小文字の「a」〜「z」、その間に各種の記号が並びます。スペースは「何も見えない」ものの、れっきとした印字可能文字として扱われる点に注意してください。

A=65・a=97・0=48の規則

ASCIIの対応表は、ばらばらに数値が割り当てられているわけではなく、規則的に並んでいるのが扱いやすさのポイントです。代表的なものを覚えておくと、プログラミングの場面で役立ちます。

  • 数字「0」= 48:以降「1」=49、「2」=50…と続き、「9」=57で終わります。
  • 大文字「A」= 65:以降「B」=66…と続き、「Z」=90で終わります。
  • 小文字「a」= 97:以降「b」=98…と続き、「z」=122で終わります。

ここで注目したいのが、大文字と小文字がちょうど32だけ離れているという規則です。「A」(65)に32を足すと「a」(97)になります。コンピューターの内部では、この32という差を使って大文字・小文字を相互に変換することができます。アルファベットが連番で並んでいるおかげで、「文字コードから48を引けば数字の値になる」「順番を比較すれば辞書順に並べられる」といった処理が簡単に書けるのです。

この規則性は偶然ではなく、文字を効率よく処理できるように設計された結果です。ASCII変換ツールで「A」「a」「0」などを入力し、それぞれが65・97・48になることを確かめると、規則が腑に落ちるはずです。

拡張ASCIIとUnicode・UTF-8の関係

標準ASCIIは英語圏向けに作られたため、アクセント付きの文字や他言語の文字は表せません。そこで、1バイト(8ビット)で表せる残りの128〜255の領域に追加の文字を割り当てたものが拡張ASCIIです。ただし、この領域にどの文字を入れるかは地域や規格によって異なり、複数の方式が乱立しました。同じコードでも環境が違えば別の文字に化けてしまう、という問題の原因にもなりました。

世界中のあらゆる文字を統一的に扱うために生まれたのがUnicodeです。Unicodeは漢字や絵文字を含む膨大な文字に固有の番号(コードポイント)を割り当てる、いわば巨大な文字の台帳です。そしてそのコードポイントを実際のバイト列へ変換する代表的な方式がUTF-8です。

ここで重要なのは、UTF-8はASCIIと完全な互換性を持つという点です。コード0〜127の文字は、UTF-8でもASCIIとまったく同じ1バイトで表現されます。日本語のような文字は2〜4バイトで表しますが、英数字部分はASCIIのまま。だからこそ古いシステムとも齟齬なく連携でき、UTF-8は今日のインターネットで事実上の標準となっています。ASCIIは消えたのではなく、現代の文字コードの土台として今も生き続けているのです。

文字と数値の変換

ASCIIを理解すると、「文字 ⇄ 数値」の相互変換が身近になります。多くのプログラミング言語には、文字をコード番号に変換する関数(例:ord)と、コード番号を文字に戻す関数(例:chr)が用意されています。

文字10進数16進数
A6541
a9761
04830
(スペース)3220

表のとおり、文字コードは10進数だけでなく16進数でもよく表記されます。プログラムやデータの中身を見ると、文字が「41 61 30」のような16進数の並びで現れることがあります。これは、コンピューターがバイト単位でデータを扱う都合上、16進数のほうが見通しが良いためです。16進数とテキストの相互変換を試したいときは、16進数テキスト変換ツールを使うと、文字列がどんなバイト列になるかを直接確かめられます。

変換の流れを整理すると、文字はまず文字コード(数値)に対応づけられ、その数値を10進数や16進数で表現する、という二段構えになっています。ASCII変換ツールで文字を数値に、16進数テキスト変換ツールで数値を16進数の並びにと、両方を行き来すれば、文字がコンピューターの中でどう表現されているのかが立体的に理解できるでしょう。

ASCIIコードは、文字と数値を結ぶもっとも基本的な約束事であり、UnicodeやUTF-8といった現代の文字コードの礎です。仕組みを目で見て触れることが理解への近道なので、まずは身近な文字を変換して、その対応の規則性を体感してみてください。

なお本記事は一般的な情報の提供を目的としたものです。文字コードの仕様は規格ごとに細かな違いがあり、改訂されることもあります。正確な情報が必要な場合は、最新の公式規格やドキュメントを確認したうえで判断してください。

よくある質問

ASCIIコードとは何ですか?

ASCII(American Standard Code for Information Interchange)とは、アルファベットや数字、記号などの文字に固有の数値を割り当てた文字コードの規格です。1文字を7ビットで表し、0〜127の128文字を定義します。コンピューターが文字を数値として記憶・送受信するための、もっとも基本的な共通ルールであり、現代の多くの文字コードの土台になっています。

なぜASCIIは128文字なのですか?

ASCIIは1文字を7ビットで表すためです。7ビットの組み合わせは2の7乗で128通りあり、それぞれに0〜127の番号を割り当てています。現代のコンピューターは8ビット(1バイト)単位で扱うことが多く、残りの最上位ビットは標準ASCIIでは0に固定されます。128〜255の領域は拡張ASCIIとして別の文字に使われます。

制御文字と印字可能文字の違いは何ですか?

制御文字(コード0〜31と127)は、改行やタブのように画面に形を持たず、機器やテキストの動作を指示する符号です。印字可能文字(コード32〜126)は、スペース・記号・数字・英字など目に見える文字を指します。スペースは見えませんが、印字可能文字として扱われる点に注意が必要です。

A=65、a=97、0=48にはどんな規則がありますか?

数字「0」〜「9」が48〜57、大文字「A」〜「Z」が65〜90、小文字「a」〜「z」が97〜122と、それぞれ連番で並んでいます。とくに大文字と小文字はちょうど32の差があり、「A」に32を足すと「a」になります。この規則性のおかげで、大文字・小文字の変換や辞書順の並べ替えを簡単に処理できます。

ASCII変換ツールで入力した文字はサーバーに送信されますか?

WAZA TOOLSのASCII変換ツールや16進数テキスト変換ツールはすべてブラウザ内で処理され、入力した文字や変換結果がサーバーに送信・保存されることはありません。スマートフォンでも利用でき、何度でも無料で文字と数値の変換を試せます。