NordVPN
広告厳格なノーログポリシーと6000台以上のサーバーで、安全かつ高速なネット接続を提供するVPN。
詳細を見る →テキストを入力するとバイナリ(0と1)に変換、またはバイナリコードを貼り付けてテキストに復元します。各文字はASCII/Unicodeコードポイントで変換されます。スペース区切り・改行区切り・連続出力から選択可能。スワップボタンで変換結果を即座に反転できます。
コンピューター上のすべての文字は数値として保存されています。標準的なASCIIテキストでは、「A」は65、「B」は66、小文字の「a」は97、スペースは32という具合です。テキストをバイナリに変換するとき、このツールは各文字のASCII/Unicodeコードポイント(数値)を調べ、その数値を2進数(バイナリ)で表現します。その際、8桁になるようゼロ埋めされます。例えば:「H」= 10進数72 = 2進数01001000、「e」= 10進数101 = 2進数01100101、「l」= 10進数108 = 2進数01101100。
逆の変換(バイナリからテキスト)では、8ビットのグループを読み取り、それぞれを2進数から10進数に変換し、そのコードポイントに対応する文字を参照します。スペース区切りのバイナリ(例:01001000 01100101)が貼り付けられた場合、スペースで分割されます。連続したバイナリ(例:0100100001100101)の場合は自動的に8ビット単位に区切られます。各8ビットグループには正確に8個の0または1が含まれている必要があります。それ以外の場合、無効なバイトを特定するエラーが表示されます。
2進数(基数2)は0と1のみを使用し、デジタルデータの最も基本的な表現方法です。コンピューターメモリにビットがどのように格納されるかを直接反映しています。しかし、1つのASCII文字を表すのに8桁が必要なため、冗長になりがちです。16進数(基数16、0〜9とA〜Fの数字を使用)はより簡潔です。各16進数の桁はちょうど4ビット(ニブル)を表すため、1バイトはわずか2桁の16進数になります。「H」は16進数で0x48、2進数では01001000です。
バイナリ表現は、個々のビットを見たり操作したりする必要があるときに最も役立ちます。たとえば、ビットマスクのフラグを確認する場合、UnicodeコードポイントがUTF-8バイトにどのようにエンコードされるかを理解する場合、またはビットレベルでネットワークパケット構造を解析する場合などです。ほとんどのデータ検査作業では、16進数はコンパクトさと可読性のバランスが取れています。多くのデバッガー、hexエディター、プロトコルアナライザーはデータを16進数で表示し、ビットレベルの作業には必要に応じてバイナリビューも提供しています。
標準のASCIIは128文字(7ビット、コード0〜127)のみをカバーしており、英語テキストには十分ですが、アクセント付き文字、非ラテン文字、絵文字には対応していません。現代のテキストはUnicodeでエンコードされており、140,000文字以上が定義されています。このツールはJavaScriptの組み込みメソッドcharCodeAt()を使用します。これは各文字のUTF-16コードユニットを返します。基本的なラテン文字では、これはUnicodeコードポイントとASCIIコードと同じ値になります。
「é」(233)、「ñ」(241)、「中」(20013)、「😀」(128512、UTF-16サロゲートペアを使用)などの非ASCII文字の場合、バイナリ表現は長くなるか、分割の方法が異なります。UTF-8がディスク上で実際にバイトを保存する方法に合わせたバイナリエンコードが必要な場合は、まず文字列をUTF-8エンコードしてから、各バイトをバイナリに変換する必要があります。ほとんどの教育的・エンコードパズルの用途では、ここで使用される文字ごとのアプローチが標準的です。
テキスト中の各文字はASCIIまたはUnicodeの数値コードに変換され、その数値が8ビットにゼロ埋めされた2進数(バイナリ)で表現されます。例えば:「A」= 10進数65 = 2進数01000001。「Hello」は01001000 01100101 01101100 01101100 01101111になります。このツールは変換を自動的に処理します。「テキスト → バイナリ」モードを選択して左のボックスにテキストを入力するだけです。
「バイナリ → テキスト」モードを選択し、バイナリ文字列を貼り付けてください。バイナリは8ビットグループ(バイト)である必要があります。スペースで区切られている場合、各スペース区切りのグループが1バイトです。連続している場合(スペースなし)、ツールは8桁ごとに1バイトとしてグループ化します。各バイトはバイナリから数値に変換され、ASCII/Unicode文字として参照されます。
1バイトは8ビットで、ASCIIは7ビットコード(0〜127)を使用します。慣例として、ASCIIコードは先頭にゼロが付いた8ビットバイトに格納され、すべてのエントリがちょうど8桁のバイナリ数字になります。これにより解析が明確になります。8桁 = 1文字。一部の古い表現では7ビットASCII(先頭のゼロを省略)を使用していますが、8ビットエンコードが現代の標準です。
スペース = 00100000、「A」= 01000001、「a」= 01100001、「0」= 00110000、改行(LF)= 00001010、ピリオド「.」= 00101110。パターンは簡単に見つけられます:大文字は010で始まり、小文字は011で始まり、数字は0011で始まります。
はい、Unicodeコードポイントが65,536未満の文字(ほとんどのラテン文字、ギリシャ文字、キリル文字、CJK文字、アラビア文字、ヘブライ文字など)に対応しています。各文字はUnicodeコードポイントのバイナリに変換されます。ただし、127より大きい文字は8ビット以上が必要なため、8桁より長いバイナリグループになります。絵文字やU+FFFFより大きい文字の場合、JavaScriptはサロゲートペアに分割するため、予期しない結果になることがあります。
スワップは現在の出力(エンコード時はバイナリ文字列、デコード時はテキスト)を入力ボックスに移動し、モードを逆方向に切り替えます。これにより、ラウンドトリップを即座に確認できます。テキストをエンコードしてスワップをクリックし、元のテキストが戻ってくることを確認できます。バイナリ文字列が何にエンコードされるかを調べるのにも便利です。
いいえ。バイナリは各文字をASCII/Unicodeの数値でちょうど8ビット(0と1)で表現します。モールス信号は英語の文字頻度に基づいた可変長のドットとダッシュで文字と数字を表現します(EやTのような一般的な文字はより短いコードを持っています)。2つのシステムはまったく異なるエンコード方式ですが、どちらもテキストを一連の記号として表現します。
バイナリは各文字の実際のビットパターン、つまりメモリに格納された生のビットを示します。Base64は、任意のバイナリデータ(任意のファイルやバイトシーケンス)を64個の印刷可能な文字を使って安全なASCIIテキスト文字列に変換する上位レベルのエンコードです。Base64は、テキストのみを受け付けるコンテキスト(メールの添付ファイルやデータURIなど)にバイナリデータを埋め込む必要がある場合に使用されます。バイナリ表現はビットパターンを人間が確認するためのもので、Base64はデータ転送と保存のためのものです。
最終更新: