テキスト ↔ ASCII変換
ブラウザ上でそのまま、テキストを ASCII 文字コードに変換し、また元に戻せます。各文字が10進数のコードポイントになるので、デバッグやデータ形式の処理、コンピューターが文字を保存する仕組みの学習に便利です。すべての処理はブラウザ上で完結します。
区切り
上にデータを入力すると、変換結果がここに表示されます。
テキスト ↔ ASCII変換 の使い方
- 1
変換方向を選ぶ
トグルで「テキスト → ASCII」または「ASCII → テキスト」を選びます。入れ替えボタンを押すと結果が入力欄に移動し、逆方向に変換し直せます。
- 2
データを入力する
テキストを入力または貼り付けるか、72 105 のような10進数コードのリストを貼り付けます。入力すると同時に変換が自動的に実行されます。
- 3
区切りを選ぶ
エンコード時は、コードをスペースで区切るかカンマで区切るかを選びます。デコード時はスペース・カンマ・改行を自由に混在させて入力できます。
- 4
結果をコピーする
変換された結果を確認してクリップボードにコピーすれば、必要な場所にすぐ貼り付けられます。
ASCII 文字コードを理解する
ASCII とは何か
ASCII は American Standard Code for Information Interchange(情報交換用米国標準コード)の略です。1960年代に標準化された文字エンコーディングで、英字・数字・約物(句読点や記号)、そして一連の制御信号のそれぞれに固有の番号を割り当てます。こうした番号について各機器が合意することで、異なるマシン同士がテキストをやり取りし、同じように解釈できるようになりました。だからこそ ASCII は、その後に登場したほぼすべてのエンコーディングが土台とする基盤になったのです。
ASCII は7ビットのコードなので、0 から 127 までの番号が付いた、ちょうど128個の値を定義します。このツールは、テキストの各文字を10進数のコード番号に変換し、またコード番号のリストをテキストへ戻すこともできます。番号はあくまで数値にすぎないため、同じ文字を2進数や16進数で書き表すこともできますが、ここで表示される10進数の形式は、たいてい最も読みやすく理解しやすいものです。
ASCII テーブルの構造
128個のコードは、はっきりとした範囲に分かれます。0 から 31 までと 127 は制御文字で、タブ(9)、ライン フィード(10)、キャリッジ リターン(13)といった非表示の信号です。これらはもともと、字形を表示するためではなく、テレタイプ端末やターミナルを制御するために用意されました。32 から 126 までは、画面上で実際に目に見える印字可能な文字です。
印字可能な範囲の中での配置は、意図的に設計されています。スペースは 32、数字の 0 から 9 は 48 から 57、大文字の A から Z は 65 から 90、小文字の a から z は 97 から 122 を占め、約物がその隙間を埋めています。この整然とした並びはひとつの特長です。アルファベットが連続しているおかげで、文字に対して算術計算ができるからで、大文字・小文字の変換や単純な暗号は、その仕組みを内部で利用しています。
覚えておきたい主要なコード値
ごく少数の値が、テーブル全体の基準になります。大文字の A は 65 なので、残りの大文字アルファベットは数を足していくだけで決まります。B は 66、C は 67、そして Z は 90 です。小文字の a は 97 で、大文字の A よりちょうど 32 大きく、小文字のアルファベットも同じように数えていくと z で 122 になります。スペース文字は 32、数字の 0 は 48 なので、数字の 9 は 57 です。
大文字とそれに対応する小文字との間にある、この一定の 32 という差は、ASCII について最も役立つひとつの事実です。これはつまり、32 を足したり引いたりするだけで大文字・小文字を切り替えられるということです。A(65)に 32 を足せば a(97)になります。同様に、数字の文字はその数値そのものから 48 だけずれているので、文字 '7' のコードは 55、すなわち 48 + 7 になります。これはテキストから数値を読み取る(パースする)ときに重要になる細部です。
実例:「Hi!」をエンコードする
H、i、そして感嘆符の3つの文字を変換してみましょう。H は大文字です。65 の A から数えると H は8番目の文字なので、コードは 72 です。文字 i は小文字です。97 の a から数えると i は9番目の文字なので、コードは 105 です。感嘆符は約物の範囲の早い位置にあり、33 です。
したがって「Hi!」は、72 105 33 というコードのリストになります。逆に読み解くと、72 は大文字の範囲にあって H に当たり、105 は小文字の範囲にあって i に当たり、33 は感嘆符なので、もとの文字列が復元されます。このツールでは、エンコード時にコードをスペースまたはカンマで区切ることができ、デコード時にはスペース・カンマ・改行を受け付けます。
127 の先へ:拡張 ASCII と Unicode コードポイント
標準的な ASCII は 127 で終わるため、アクセント付き文字やラテン文字以外の文字、記号を入れる余地がありません。古いシステムは 128 から 255 までのコードをさまざまな「拡張 ASCII」セットで埋めましたが、それらのセットは互いに食い違っていたため、同じ番号でも機器によって異なる文字を表していました。現代の解決策が Unicode で、あらゆる書記体系のすべての文字に固有のコードポイントを割り当て、互換性のために ASCII を意図的に最初の128個の値として保っています。
このツールは 127 を超えるものについては Unicode に従うため、あらゆる文字の本当のコードポイントを示し、0 から Unicode の範囲の上限である 1114111 までの任意の値をデコードします。アクセント付きの é はコードポイント 233、にっこり笑った顔の絵文字はコードポイント 128512 です。だからこそ、たった1つの絵文字に大きな数値が表示されることがあり——単にコードポイントが大きいだけです——そして、その数値をデコードすると、まさにその文字が再現されるのです。
デコードのためのコードの書式
デコードのためにコード番号を貼り付けるときは、それぞれを通常の10進整数として書き、都合のよい方法で区切ってください。スペース・カンマ・改行のいずれも使え、同じ入力の中で混在させることもできます。たとえば、1行目に 72, 105 33、次の行に別のコード、というように書いてもすべて正しく解析されます。この柔軟さのおかげで、異なる情報源からコピーしたコードを、書式を整え直すことなく簡単に貼り付けられます。
先頭のゼロは問題ありません。072 と 72 はどちらも H にデコードされます。値が同じ数だからです。避けるべき主な点は、紛れ込んだ数字以外の文字や、有効範囲外の値で、どちらも変換エラーの原因になります。入力を 0 から 1114111 までのきれいな整数に保てば、デコードは毎回成功します。
ASCII・2進数・16進数の比較
ASCII コード、2進数、16進数は、まったく同じ文字の番号を書き表す3通りの方法であり、違うのは基数だけです。文字 H は、10進数の ASCII では 72、2進数(基数2)では 01001000、16進数(基数16)では 48 です。このうちどれかが他より「本物」だということはありません——同一の値を異なる表記で表しているだけであり、作業に合わせて好きなものを選べばよいのです。
10進数の ASCII は人にとって最もわかりやすく、暗算にも向いているため、チュートリアルや多くのデータ形式に登場します。2進数は個々のビットをあらわにするので低レベルの作業や教育用途に適しており、16進数はコンパクトで、バイトダンプやカラーコードで主流になっています。これらが相互に変換可能だと知っていれば、情報を一切失うことなく、このツールと2進数や16進数のコンバーターを行き来できます。
ASCII 変換が役立つ場面
文字コードを調べることは、実践的なデバッグの技術です。テキストに目に見えない、あるいは思いがけない文字——ノーブレークスペース、スマートクォート、紛れ込んだ制御コードなど——が含まれているとき、それを数値コードに変換すれば、それが正確に何なのかが明らかになります。画面をただ眺めているだけではわからないことです。また、エンコードの工程で期待どおりの文字が保たれたかを確認する方法でもあります。
この変換は教育の場でも登場し、文字を数値に対応付けることで、コンピューターがどのようにテキストを保存するかを教えてくれます。また、メッセージを数値のリストとしてエンコードするパズルやプログラミングの練習問題にも現れます。文字をそのコード値で指定するデータ形式やプロトコルを扱うときにも同じく役立ち、人が読めるテキストと、機械が期待する数値形式との間を行き来できます。
よくある質問
ASCII とは何ですか?
絵文字やアクセント付き文字はどのように変換されますか?
デコードするコードはどの形式で入力すればよいですか?
ASCII・2進数・16進数の違いは何ですか?
入力したデータはサーバーに送信されますか?
関連ツール
こちらの便利なツールもどうぞ