開発者ツール
テキストをバイナリに変換
テキストを2進数、16進数、8進数、10進数に変換し、また元にも戻せます。
テキストをバイナリに変換 お使いのデバイス上で実行
- ブラウザ上で動作します — テキストはどこにも送信されません
- 登録不要、利用回数の上限なし、何度でも無料で使えます
仕組み
テキストを元になっている数値に変換する場面は、パズル、教育、デバッグ、プロトコルの作業でよくあります。つまずきやすいのは、コンピューターにとってテキストは文字ではなくバイトであり、どのバイトになるかはエンコーディングによる、という点です。
重要なのはUTF-8です
テキストは変換前にUTF-8のバイトにエンコードされます。英数字は1文字1バイトなので、結果は多くのチュートリアルで使われるASCII表とまったく同じに見えます。アクセント付きの文字は2バイト、絵文字は4バイトになるため、バイト数と文字数は異なり、両方が表示されます。
グループ分け
2進数は1バイトあたり8桁、16進数は2桁、8進数は3桁にゼロ埋めされ、バイトの間にスペースが入ります。このグループ分けによって出力が読みやすくなり、曖昧さなく元にデコードできます。
元に戻す
スペースで区切った数値のグループを貼り付けると、バイトとして読み取られ、UTF-8としてデコードされます。0〜255の範囲外のグループや、有効なUTF-8ではない並びは、無意味な文字列を黙って出力するのではなく、エラーとして報告されます。
どの進数を選ぶか
「テキストをバイナリに変換」というときに人が意味するのは2進数です。16進数はずっとコンパクトで、バイナリエディタやプロトコルのダンプで目にするものです。8進数はほとんど歴史的なものです。10進数は声に出して読むのに最も向いています。
よくある質問
テキストをバイナリに変換に関するよくある質問
なぜ絵文字は4つの数字になるのですか?
絵文字はUTF-8で4バイトです。バイト数と文字数の両方が表示されます。
バイナリをテキストに戻せますか?
はい。スペースで区切ったグループを貼り付けると、デコードされます。
なぜバイトが有効なUTF-8ではないと表示されるのですか?
数値が正当な文字の並びになっていません。多くの場合、グループが足りないか、余分にあります。