MCPで接続 →

計算を入力してください

公式

広告

結果

バイナリ出力
01001000 01101001
8ビットASCIIバイナリ
変換した文字数 2
ビット数 16

ASCII→2進数変換ツールとは?

このツールは、入力したテキストをバイナリ(2進数)コードへと変換します。1文字ごとにASCIIテーブルを参照して対応する数値(標準ASCIIでは0〜127)を求め、その数値を8ビットの2進数で書き出します。こうして得られたバイト列をつなげると、メッセージ全体のバイナリ表現が完成します。これはまさに、コンピュータが内部でテキストを保存している仕組みそのものです。

使い方

入力欄に任意のテキストを入力するか、コピー&ペーストしてください。バイトとバイトの間に区切りのスペースを入れる(読みやすくなります)か、区切りなし(連続したビット列)にするかを選びます。すると、バイナリ文字列全体に加えて、文字数と合計ビット数が出力されます。

計算の仕組み

各文字cについて、まずその10進数のコードであるASCII(c)を求めます。次にその値を2進数に変換し、8ビットになるまで左側を0で埋めます。たとえば「H」のASCIIコードは72で、2進数では1001000、これを8ビットに揃えると01001000になります。すべての文字のバイトを連結したものが最終結果です。

$$\text{Binary} = \bigoplus_{i=1}^{n}\ \operatorname{pad}_{8}\!\left(\text{bin}\big(\operatorname{ASCII}(\text{Text}_i)\big)\right)$$

1文字がASCII番号に、さらに8ビットのバイナリバイトに変換される様子を示す図
各文字はASCIIコードに変換され、次に8ビットのバイナリバイトになります。

具体例

「Hi」という単語を例に考えてみましょう。「H」= 72 = 01001000、「i」= 105 = 01101001 です。区切りにスペースを使うと、出力は 01001000 01101001 となります。文字数は2、合計ビット数は16ビットです。

$$\text{「H」} = 72 = 01001000$$

$$\text{「i」} = 105 = 01101001$$

単語Hiが2文字として2つの8ビットバイナリバイトに変換され連結される様子
短い単語は8ビットバイトの列となり、1つのバイナリ文字列に連結されます。

テキストをバイナリに手作業で変換する方法

テキストを8ビットバイナリに変換するのは文字ごとのプロセスです。各文字は個別に1バイトに変換され、バイトは順に結合されます。以下は完全な手順で、文字Kで図解されています。

  1. 1文字を取り出す。テキストを左から右へ、1文字ずつ処理します。文字Kを変換します。
  2. そのASCIIの10進数コードを調べる。上記の参照表を使用して、Kの10進数ASCIIコードは75です。
  3. 10進数コードを2進法に変換する。2で繰り返し割り、余りを下から上へ読みます:
    75 ÷ 2 = 37 余り1;37 ÷ 2 = 18 余り1;18 ÷ 2 = 9 余り0;9 ÷ 2 = 4 余り1;4 ÷ 2 = 2 余り0;2 ÷ 2 = 1 余り0;1 ÷ 2 = 0 余り1
    余りを最後から最初の順に読むと1001011が得られます。位置の値で検証できます:\(64 + 8 + 2 + 1 = 75\)、2進法では\(1001011_2 = 75_{10}\)1001011です。
  4. ゼロで左側を埋めて8ビットにする。生のバイナリ値は8桁より短い場合があります。バイトがちょうど8ビット幅になるまで先頭にゼロを追加します:100101101001011。このスキームでは、すべての文字が正確に1バイト占有するため、このパディングステップはすべてのバイトを同じ長さにし、デコード可能にします。
  5. バイトを連結する。ステップ1~4をすべての文字について繰り返し、結果を順に結合します。単語Kitの場合:K=01001011、i=01101001、t=01110100、結果は010010110110100101110100です。セパレーターをスペースに設定すると、同じ出力は01001011 01101001 0111010001001011 01101001 01110100と表示されます。

逆のプロセスを行うには、バイナリ文字列を8ビット単位に分割し、2進法からテキストへのデコーダーを使用して各バイトを文字に戻します。

よくある質問

なぜ1文字あたり8ビットなのですか? 標準ASCIIは7ビットで表現できますが、1バイト(8ビット)はコンピュータにおける記憶の基本単位です。そのため各文字を8ビットに揃えて(パディングして)扱います。

スペースや記号にも対応していますか? はい、対応しています。スペースはASCIIコード32(00100000)で、句読点などの記号もそれぞれ固有のコードを持っています。

アクセント付き文字や絵文字はどうなりますか? このツールは標準ASCIIを対象としています。コード127を超える文字はASCIIの範囲外であり、8ビットでは正しくエンコードできない場合があります。

最終更新: