バイナリエンコーダ/デコーダ
オンラインで利用できる無料のバイナリエンコーダ/デコーダ。テキストを0/1のバイナリ形式に変換できます。
バイナリエンコード/デコードについて
テキストと 8 ビットのバイナリ文字列を相互変換します。エンコードでは各文字をその文字コードに対応させ、8 ビットにパディングした上で、バイトをスペースで結合します。デコードでは空白を取り除き、スペースで分割し、各グループを基数 2 として解析し、対応する ASCII 文字を描画します。0、1、空白以外の文字を含む入力はすべて拒否されます。
使い方
1. エンコード/デコードモードのタブを切り替えます。\n2. エンコードモードではプレーンテキストを入力します。デコードモードでは 01001000 01101001 のようにスペース区切りのバイナリグループを入力します。\n3. エンコード/デコードボタンをクリックします。\n4. コピーボタンで結果をコピーします。入力に 0、1、空白以外の文字が含まれている場合、デコードモードではエラーが表示されます。
バイトエンコードの詳細
エンコードでは charCodeAt(0).toString(2) を使用し、8 桁にパディングするため、コードポイントに関係なく各文字は必ず 8 ビットを生成します。U+00FF を超える文字は下位バイトのみを使用し、情報が失われます。デコードでは入力を任意の連続する空白(スペース、タブ、改行)で分割し、各トークンを 2 進数として扱い、String.fromCharCode を呼び出します。NaN に解析されるトークンは破棄されます。想定される使用例はプレーン ASCII テキストです。
▶出力のバイナリグループ間にスペースがあるのはなぜですか?
各文字が個別の 8 ビットグループとしてエンコードされ、それらがスペースで結合されるためです。これにより各バイトが視覚的に区切られ、またデコード時に空白で分割して個々のバイトを復元するためにも必要です。
▶Unicode や絵文字に対応していますか?
部分的にのみ対応しています。エンコードでは各文字コードの下位 8 ビットを取得するため、U+00FF を超える文字はすべて切り捨てられ、元の文字にラウンドトリップできません。完全な Unicode サポートが必要な場合は、代わりに Unicode Escape または Base64 ツールを使用してください。
▶入力のデコードに失敗するのはなぜですか?
デコードでは入力をパターン ^[01\s]+$ に対して検証します。0、1、空白以外の文字(文字、数字の 2、カンマ区切りなど)が含まれていると、変換が実行される前に "invalid binary" エラーが発生します。
▶各バイナリグループは必ず 8 ビットでなければなりませんか?
いいえ。デコードは空白で区切られた各トークンを基数 2 として解析するだけなので、短いトークンや長いトークン(例:101 や 00000010)も受け付けられます。有効な数値を形成しないトークンは暗黙的にスキップされます。
このツールがあなたに役立ったなら、私にコーヒーをご馳走することをお勧めします。
私にコーヒーを買ってください。