ファイルを選択
  1. base64hub
  2. その他の基数
  3. 2進数 → テキスト

2進数からテキストへの翻訳:0 と 1 をデコード

01001000 01101001 のようなバイナリコードを貼り付けると、テキストとして読めます(この例は Hi です)。8 ビットのグループをバイトとして読み、空白、カンマ、0b 接頭辞、切れ目のない長い文字列のどれでも動作します。

無料 登録不要・制限なし ローカル アップロードなし 7 ビット ASCII のグループも読める 更新日 2026/10/27
入力 0バイト 0 B出力 0

ブラウザ内で処理されます。このページがデータをどこかに送信することはできません – その根拠

2進数をテキストに変換する手順

  1. 2進数を 入力 · 2進数 に貼り付けます。バイトは空白、改行、カンマ、セミコロン、| で区切っても、区切らなくてもかまいません。
  2. 入力と同時に 出力 · テキスト にテキストが表示されます。
  3. � が表示された場合、ビット列が UTF-8 として不正です。出力の下の 文字コード で ISO-8859-1 など別のものを試してください。
  4. 出力をコピー でテキストをコピーします。ツール上部の テキスト → 2進数 で方向を切り替えられます。テキストから 2進数へ でも同じです。

2進数を手で読む方法

8 ビットのグループがそれぞれ 1 バイトです。各位置に左の 128 から右の 1 までの値を割り当て、1 がある位置の値を合計します。

ビット01001000
値1286432168421

01001000 は 64 + 8 = 72 で、ASCII の 72 番の文字は H です。01101001 は 64 + 32 + 8 + 1 = 105 で、i になります。

英字ならこの計算はほとんど必要ありません。ASCII は規則的に並んでいるからです。最初の 3 ビットで文字の種類がわかり、英字なら最後の 5 ビットがアルファベット内の順番を表します。

先頭のビット意味例
010大文字01000001 A、01001000 H、01011010 Z
011小文字01100001 a、01101001 i、01111010 z
0011数字00110000 0、00111001 9
00100000空白

つまり 01000011 の末尾は 00011 で、これは 3、3 番目の文字の C です。大文字と小文字の違いは、左から 3 番目の 1 ビットだけです。

受け付ける形式

入力読み取り方
01001000 01101001空白や改行で区切った 8 ビットのグループ
01001000,01101001 または 01001000;01101001カンマ、セミコロン、| を区切りとして使用
0b01001000 0b011010010b 接頭辞は無視
1001000 1101001古典的な 7 ビット ASCII の演習問題のような 7 ビットのグループ
01001000011010011 本のビット列を 8 ビットずつに分割

どれも Hi にデコードされます。8 ビットより短いグループは 1 バイトとして読まれるので、7 ビット版も動作します。8 ビットより長いグループが 1 つでもあると、ツールはすべてのビットを 1 本の文字列につなげ、それをバイトに切り分けます。0、1、区切り文字以外の文字があると、不正な文字の位置を示して変換が止まります。メッセージの横の 表示 ボタンを押すと、入力欄でその文字が選択されます。

プレーンな ASCII ではない 2進数

ASCII のバイトは必ず 0 で始まります。1 で始まるバイトは複数バイトからなる UTF-8 の文字の一部で、先頭のビットからシーケンスの長さがわかります。

文字UTF-8 のビット列パターン
é11000011 10101001110 で 2 バイト文字が始まり、10 が続きを表す
€11100010 10000010 101011001110 で 3 バイト文字が始まる
👋11110000 10011111 10010001 1000101111110 で 4 バイト文字が始まる

これらを 1 バイトずつデコードすると、é のような文字化けになります。バイトをまとめたまま、文字コード を UTF-8 にしておいてください。

2進数から Base64 へ

2進数、16進数、Base64 は、どれも同じバイト列の書き方です。1 バイトあたり 2進数は 8 文字、16進数は 2 文字、Base64 は約 1.33 文字を使うので、システムがバイナリデータをテキスト経由で運ぶときは Base64 を使います。メールの添付ファイル、JSON のフィールド、data URI などです。ビット列を直接 Base64 にするには 2進数から Base64 へ を使います。Base64 文字列の中のビットを見るには Base64 から 2進数へ を使ってください。そのビットを 6 つずつまとめ直す仕組みは、Base64 の仕組み で説明しています。

コードで 2進数をテキストにする

bits = "01001000 01101001"
bytes(int(b, 2) for b in bits.split()).decode("utf-8")   # 'Hi'
const bits = "01001000 01101001";
new TextDecoder().decode(Uint8Array.from(bits.split(" "), b => parseInt(b, 2)));   // 'Hi'

どちらもグループが 1 つの空白で区切られていることを前提にしています。上のツールは入力形式にもっと寛容です。

よくある質問

01001001 00100000 01101100 01101111 01110110 01100101 00100000 01111001 01101111 01110101 はどういう意味ですか?

I love you です。8 ビットのグループがそれぞれ ASCII の 1 文字で、00100000 は単語の間の空白です。

1 文字は何桁の 2進数でできていますか?

プレーンな ASCII テキストの英字や数字なら、8 桁(1 バイト)です。UTF-8 では、アクセント付きの文字は 16 ビット、ほかの文字体系の多くは 16 ビットか 24 ビット、絵文字は 32 ビットです。日本語のひらがなや漢字は、ほとんどが 24 ビットです。

空白のない 2進数も変換できますか?

はい。0100100001101001 のような連続した文字列は、左から 8 ビットずつ切り分けます。長さは 8 の倍数である必要があり、そうでなければツールが見つかったビット数を報告します。

2進数を変換すると意味不明な文字になるのはなぜですか?

たいていは、空白のない文字列の中で 1 ビット欠けているか余分にあり、それ以降のバイトがすべてずれています。できればバイトの間に空白を入れてください。そうすれば、不正なグループがあっても崩れるのは 1 文字だけで、残りは正しく読めます。