開発者ツール

テキストをバイナリに変換

テキストを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ではないと表示されるのですか?

数値が正当な文字の並びになっていません。多くの場合、グループが足りないか、余分にあります。