バイナリからASCIIへの変換ツール

0と1の列を入力すると、読める文字へ戻っていきます。この変換ツールは入力を8ビットのまとまり(切り替えると7ビット)に分け、それぞれをASCIIのコードポイントへ対応付けて、元の文字列を組み立てます。CTFの問題、シリアル通信のキャプチャのデバッグ、ファームウェアのログが実際に何と書いているかの確認に便利です。

バイナリをASCIIへ復号する方法

  1. 1

    バイナリを貼り付ける

    スペースで区切ったバイト(01001000 01101001)、または区切りのない長いビット列を受け付けます。

  2. 2

    バイトのサイズを選ぶ

    既定は1文字あたり8ビットです。古いハードウェア由来の純粋なASCIIキャプチャでは7ビットへ切り替えます。

  3. 3

    復号する

    各まとまりを2進数として解析し、10進のコードポイントへ変換してから、対応するASCII文字として表示します。

  4. 4

    テキストをコピーする

    コピーボタンで復号済みの文字列を取得するか、入力を調整して再度復号します。

よくあるバイナリからASCIIへの変換例

バイナリ(8ビット) 10進 ASCII
01001000 72 H
01100101 101 e
01101100 108 l
00100000 32 スペース
00110000 48 0
01111111 127 DEL

7ビットと8ビット

古典的なASCIIはコードポイント0〜127だけを定義し、7ビットに収まります。現代のシステムはすべて8ビットのバイトを使い、最上位ビットは0(純粋なASCII)か、Latin-1やUTF-8のような拡張エンコードの一部です。入力が7ビットで区切られているのに8ビットモードで文字化けする場合は、切り替えスイッチを変更してください。

注意したい落とし穴

  • 埋め草のゼロは重要です。 1001000(7ビット)と01001000(8ビット)はどちらもHに復号されますが、対応するモードでだけ正しくなります。元のデータが8桁に揃えているなら、こちらも8桁に揃えてください。
  • 空白は無視されます。 改行、タブ、バイト間の複数のスペースは問題ありません。解析されるのは0と1の文字だけです。
  • UTF-8のマルチバイト文字(絵文字、アクセント付きの文字)は正しく復号されません。このツールはシングルバイトのASCII向けです。それらにはUTF-8用の復号ツールを使ってください。
  • バイト順序(エンディアン)はここでは関係ありません。 ASCIIのバイトは慣例上、最上位ビット(MSB)から先に送られます。変換ツールはその順序を前提にします。

よくある質問

変換ツールは余ったビットを示すので、桁を埋めるか切り詰められます。余りのビットはたいてい貼り付けのミスか、バイトのサイズの不一致です。データが壊れていると判断する前に、7ビットモードを試してください。

はい。8ビットモードではコードポイント128〜255をLatin-1(ISO-8859-1)として通します。Windows-1252の引用符(スマートクォート)やUTF-8の並びを想定している場合は、結果が異なります。

印字可能な文字はそのまま表示します。印字できない文字(0〜31と127)は、列の中身が分かるように、\n、\t、\0 のようなエスケープ表記で表示します。

いいえ。変換はブラウザのセッション内で実行され、貼り付けたバイナリ文字列はページを離れると破棄されます。

関連ツール