2進数変換ツール
テキストを入力すると8ビットの2進数で表示し、8桁ずつのグループに区切った2進数を貼り付けると、メッセージを読み取れます。UTF-8のバイトで処理するため、アクセント記号や絵文字も往復変換で保たれます。デコードに失敗した場合は、どのグループが誤っているかを正確に示します。無料、登録不要。入力内容はアップロードされません。
変換方向
2進数変換ツールの使い方
- 1. 変換方向を選びます。 自動判定 は、空白で区切られた、ちょうど8桁の0と1のグループだけからなる入力を解読し、それ以外はすべて符号化します。テキスト → 2進数 と 2進数 → テキスト は方向を固定します。
- 2. 入力します。 デコードの場合は、空白または改行で区切った、ちょうど8桁のグループを入力します。
- 3. 出力を読みます。 符号化では、1バイトごとに8ビットのグループが表示され、デコードではテキストが表示されます。その下にバイト数が表示されます。
- 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 になります。
| ビットの値 | 128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 |
|---|---|---|---|---|---|---|---|---|
| H = 72 | 0 | 1 | 0 | 0 | 1 | 0 | 0 | 0 |
| i = 105 | 0 | 1 | 1 | 0 | 1 | 0 | 0 | 1 |
このツールは、独自の「2進数のアルファベット」を使うのではありません。テキストを UTF-8(RFC 3629)で符号化し、各バイトを2進数で表示します。英字、数字、句読点は1バイトで、ASCIIの符号と一致します。それ以外の文字は2〜4バイトを使い、先頭のビットがそのバイト数を示します:
| バイト数 | バイトのパターン | 例 |
|---|---|---|
| 1 | 0xxxxxxx | A = 01000001 |
| 2 | 110xxxxx 10xxxxxx | é = 11000011 10101001 |
| 3 | 1110xxxx 10xxxxxx 10xxxxxx | € = 11100010 10000010 10101100 |
| 4 | 11110xxx 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 を使って行われ、入力した内容が端末の外に出ることはありません。