本文へスキップ

2進数変換ツール

テキストを入力すると8ビットの2進数で表示し、8桁ずつのグループに区切った2進数を貼り付けると、メッセージを読み取れます。UTF-8のバイトで処理するため、アクセント記号や絵文字も往復変換で保たれます。デコードに失敗した場合は、どのグループが誤っているかを正確に示します。無料、登録不要。入力内容はアップロードされません。

変換方向

2進数変換ツールの使い方

  1. 1. 変換方向を選びます。 自動判定 は、空白で区切られた、ちょうど8桁の0と1のグループだけからなる入力を解読し、それ以外はすべて符号化します。テキスト → 2進数 と 2進数 → テキスト は方向を固定します。
  2. 2. 入力します。 デコードの場合は、空白または改行で区切った、ちょうど8桁のグループを入力します。
  3. 3. 出力を読みます。 符号化では、1バイトごとに8ビットのグループが表示され、デコードではテキストが表示されます。その下にバイト数が表示されます。
  4. 4. コピーします。 結果をコピー で出力をコピーし、クリア で入力欄を空にします。

テキストが2進数になるまで

コンピューターは各バイトを8桁の2進数(ビット)として保存します。各桁には値があり、右から左へ2倍ずつ増えます。128、64、32、16、8、4、2、1 です。1バイトを読むには、1になっている桁の値を足し合わせます。01001000 では 64 と 8 があり、合計は 72 です。72 は文字 H の符号です。「Hi」の2つ目のバイト 01101001 は 64 + 32 + 8 + 1 = 105 で、i になります。

ビットの値1286432168421
H = 7201001000
i = 10501101001

このツールは、独自の「2進数のアルファベット」を使うのではありません。テキストを UTF-8(RFC 3629)で符号化し、各バイトを2進数で表示します。英字、数字、句読点は1バイトで、ASCIIの符号と一致します。それ以外の文字は2〜4バイトを使い、先頭のビットがそのバイト数を示します:

バイト数バイトのパターン例
10xxxxxxxA = 01000001
2110xxxxx 10xxxxxxé = 11000011 10101001
31110xxxx 10xxxxxx 10xxxxxx€ = 11100010 10000010 10101100
411110xxx 10xxxxxx 10xxxxxx 10xxxxxx😀 = 4バイト

具体例

テキスト

Cite

2進数

01000011 01101001 01110100 01100101

バイト数

4バイト

デコードは逆の手順です。01000011 は 67(C)、01101001 は 105(i)、01110100 は 116(t)、01100101 は 101(e)です。各グループはちょうど8桁でなければなりません。2進数 → テキスト を選ぶと、7桁、9桁、16桁のグループは拒否され、最初の数個の問題のあるグループが示されます。そのため、0100100001101001 のように続けて書かれた2進数は、先にバイトごとに区切る必要があります。

注意すべき点

  • 8桁のグループだけが2進数として扱われます。 自動判定 では、101 や 1100 のような短い文字列はテキストとして符号化されます。続けて書かれた、または桁数の合わない2進数も自動ではデコードされません。どのグループが不正かを確認するには 2進数 → テキスト を選んでください。
  • 文字ではなくバイト。 表示される数はバイト数です。絵文字は1文字でも4バイトのため、短いメッセージでも、文字数よりグループ数が多くなることがあります。
  • 文字化け(�)。 有効な8ビットのグループでも、正しいUTF-8を構成しない場合は、置換文字(�)にデコードされます。データが別の文字コードであるか、そもそもテキストではない可能性があります。
  • これは暗号化ではなく符号化です。 2進数は同じバイトを別の書き方で表したものにすぎず、誰でも元に戻せます。

どのツールが必要ですか?

このページは、テキストを2進数のバイトに変換します。数値を2進数、10進数、8進数、16進数の間で変換したい場合は 基数変換 を使ってください。2進数の計算には 2進数計算ツール があります。同じテキストを16進数のバイトにするには 16進数変換ツール、10進数の文字コードにするには ASCII変換ツール、Base64やURLエンコードにするには テキストエンコーダー・デコーダー を使ってください。

よくある質問

テキストを2進数に変換するにはどうすればよいですか?
変換方向を テキスト → 2進数(または 自動判定 のまま)にして、テキストを入力または貼り付けてください。各文字がUTF-8のバイトに変換され、各バイトが8桁の2進数で表示されます。たとえば Hi は 01001000 01101001 になります。
2進数をテキストに戻すにはどうすればよいですか?
2進数を、空白または改行で区切った8桁のグループとして貼り付けてください。ツールは、すべてのグループがちょうど8桁の0と1であることを確認し、そのバイトをUTF-8としてデコードします。不正なグループはエラーメッセージで示されます。
このツールはどの符号化を使いますか?
UTF-8です。ASCIIの文字は1バイトで、ASCIIの2進数の値と一致します。アクセント付きの文字、記号、絵文字は2〜4バイトになります。
1文字が複数のバイトになることがあるのはなぜですか?
1バイトに収まるASCIIの範囲は128文字だけです。UTF-8は、それ以外の文字を2、3、4バイトに分け、先頭のビットでそれぞれ何バイト目かを示します。そのため、デコーダーは文字の始まりを判別できます。
8桁のエラーが出るのはなぜですか?
各グループは必ず8桁でなければなりません。空白なしでコピーされたものや、先頭の0が省かれたもの(65 を 1000001 と書いて 01000001 としないもの)は、8桁の完全なバイトに区切り直すまでエラーになります。
2進数はASCIIと同じものですか?
ASCIIは、128文字のそれぞれに0から127までの数を割り当てた表で、2進数は数の書き方です。ASCIIの符号を2進数で、8桁に揃えて書いたものが、このツールが英語のテキストに対して行っていることです。
入力したテキストはサーバーに送信されますか?
いいえ。変換はブラウザに組み込まれた TextEncoder と TextDecoder を使って行われ、入力した内容が端末の外に出ることはありません。

関連ツール

暗号・符号のその他のツール