テキストからバイナリ変換とは?
テキストからバイナリ変換ツールは、任意のテキスト文字列を2進数(バイナリ)表現に変換し、各文字の8ビットバイナリコードを表示します。出力を16進・10進・8進に切り替えることもでき、バイナリからテキストへの逆変換にも対応するため、符号化の学習やデータのデバッグに便利です。
コンバータは UTF-8、UTF-16、純粋な ASCII に対応しているので、アクセント記号や絵文字、CJK 文字も正しくエンコードできます。4 ビットのニブル、8 ビットのバイト、16 ビット、32 ビットからグループ幅を選び、出力の基数を2進・16進・10進・8進で切り替え、スペース・ハイフン・カンマ・なし・任意の区切り文字から指定できます。バイトごとの内訳で各グループの数値と文字が分かり、内蔵の対応表が一般的な文字とコードを結び付けます。.txt ファイルをドロップしてもクリップボードから貼り付けてもよく、デコード側はどの形式でも受け付けて余分な空白は無視します。直前の入力と設定は記憶されるので、続きからすぐ始められます。
使い方
- 入力欄にテキストを入力または貼り付けてください。各文字がスペースで区切られた8ビットのバイナリ列として即座に変換されます。
- デコードモードに切り替えると、バイナリ文字列を貼り付けて読みやすいテキストに戻すことができます。エンコード・デコードの両方向がリアルタイムで動作します。
- テキストを貼り付ける、.txt ファイルをアップロードする、または貼り付けボタンでクリップボードから直接取り込みます。バイナリ出力はコピー、ファイルダウンロード、入れ替えボタンでエンコードとデコードの切り替えが可能です。
使用するタイミング
- プログラミング入門で、文字がバイトにどう対応するかを実例で見せたいとき。
- 文字化けしたテキストを調査して、元のファイルが実際に何のバイトを持っていたか確認するとき。
- 脱出ゲームや ARG の謎、エンジニアの友人へのバースデーカードに 0 と 1 で隠したメッセージを仕込みたいとき。
結果
「Hi」と入力すると「01001000 01101001」と表示されます — 各ASCII文字の8ビットバイナリ表現です。
よくある質問
- なぜ 1 文字が 8 ビットなのですか?
- ASCII は本来 7 ビットですが、1 バイトに収めるため 8 ビットに揃えられました。バイトはほとんどの計算機の基本単位になっています。素の ASCII では最上位ビットが 0。UTF-8 はバイトを保ちつつ、非ラテン文字に 2〜4 バイトを使います。
- 絵文字や漢字はどうエンコードされますか?
- どちらも UTF-8 で、1 文字あたり複数バイトを使います。笑顔の絵文字は 4 バイト(32 ビット)、ほとんどの漢字は 3 バイト(24 ビット)。8 ビット区切りだと出力ではこれらが複数グループにまたがります。
- カンマ付き、あるいは区切りなしの二進をそのまま貼ってもデコードできますか?
- できます。デコーダは 0 と 1 の並びだけを拾って他は無視するので、01001000,01101001 のようなカンマ入りでも、0100100001101001 のような一続きでも同じ結果になります。
- 同じ文字列を16進や10進、8進でも見られますか?
- はい。出力の基数を16進・10進・8進に切り替えると、同じ文字がその基数で表示されます。2進は 2 進数で計算機が実際に格納するビットをそのまま見せ、16進は 16 進数で 4 ビットを 1 桁にまとめ、8進は 8 進数で Unix のファイル権限が使う書き方です。A は2進で 01000001、16進で 41、10進で 65、8進で 101。値は同じで書き方が 4 通りです。
- デコードで大文字小文字は区別されますか?
- 出力テキストでは区別されますが、入力の二進では区別はありません。ASCII では大文字と小文字に別のコードが割り当てられており(A は 65、a は 97)、01000001 は A、01100001 は a になります。