DevToys Web Pro iconDevToys Web Proブログ
評価:
ブラウザ拡張機能を試す:

テキスト ↔ バイナリ変換

モード
ビット
区切り文字

テキスト

  • 2進数

  • 技術的な詳細

    テキスト↔バイナリ変換の仕組み

    このツールでできること

    テキスト↔バイナリツールは、テキストとそのバイナリ表現を相互に変換します。1文字あたり8ビットでは入力はUTF-8バイトとしてエンコードされ、1文字あたり16ビットでは各コードユニットがそのまま出力されます。区切り(スペース、カンマ、改行、またはなし)により、出力を読みやすくしたり貼り付けやすくしたりできます。デコードはこれらの区切りの任意の組み合わせを受け付け、合計長が設定されたビットグループサイズの倍数である限り、ビットが連結された文字列でも処理できます。

    開発者によくある利用シーン

    教育者や学生は、ASCIIやUTF-8が文字をバイトとしてどのようにエンコードするかを可視化するためにこのツールを使います。組み込み開発者はメッセージペイロードのテストフィクスチャを用意します。セキュリティアナリストは、キャプチャやリバースエンジニアリング記事からコピーしたバイナリブロブをデコードします。また、独自のビットパッキング方式を実装する際の簡易な整合性チェックや、エンディアンや文字エンコーディングをチームメイトに説明する際にも便利です。

    データ形式、型、またはバリエーション

    1文字あたり8ビットでは、このツールはUTF-8を介してテキストを往復変換するため、アクセント付き文字やCJK表意文字も正しくエンコード/デコードされます(例: 'é' は 11000011 10101001 になります)。1文字あたり16ビットでは、UTF-16のコードユニットを出力し、JavaScriptが内部的に文字列を表現する方法に合わせたい場合に有用です。区切りは見た目上のものに過ぎず、デコーダーは空白、カンマ、改行を正規化します。

    よくある落とし穴とエッジケース

    同じ入力内で8ビットと16ビットのグループを混在させると誤った出力になります。どちらかを選び、一貫させてください。UTF-16のサロゲートペアは2つの16ビットグループとして別々に出力されるため、1文字あたり8ビットでデコードしようとしても元の文字には戻りません。区切りのないビット文字列をデコードする場合、合計長はビットグループサイズの整数倍である必要があり、そうでない場合ツールはエラーを報告します。

    コードではなくこのツールを使うべき場面

    単発の変換、授業デモ、フィクスチャの素早い準備には、このブラウザツールを使ってください。アプリケーションコードでは、UTF-8変換に`TextEncoder` / `TextDecoder`、Node.jsでは`Buffer.from(str, 'utf8')`、Pythonでは`bytes(str, 'utf-8')`を使用してください。これらは、静的なコンバーターでは扱えないストリーミング、エラーモード、BOM検出に対応しています。