tigtools

テキスト・2進数変換ツール

テキストをコンピューターが保存するバイトに変換し、2進数、16進数、10進数、8進数で表示します。バイトを貼り付けてテキストに戻すこともできます。あらゆる言語と絵文字に対応しています。

ブラウザー内で動作 登録不要

変換方向
バイト間の区切り

使い方

  1. 変換するには「テキスト → バイト」、デコードするには「バイト → テキスト」を選びます。
  2. バイト形式(2進数、16進数、10進数、8進数)を選びます。
  3. 入力を入力または貼り付けます。入力中に結果とバイト数が更新されます。
  4. 結果をコピーするか、入力欄に戻して変換結果を確認します。

仕組み

コンピューターはテキストをバイトとして保存します。このツールでは、ほとんどすべてのWebサイトや最新システムで使われているUTF-8を使用します。UTF-8では、128個のASCII文字(英字、数字、基本的な句読点)はそれぞれ1バイトです。そのため、Hは2進数で01001000、16進数で48になります。それ以外の文字は2〜4バイトで、éは2バイト(C3 A9)、€と☕は3バイト、ほとんどの絵文字は4バイトです。このため、バイト数が文字数を上回ることがあり、1文字が8ビットのグループ複数個に変換されることもあります。

各バイトは、よく使われる4つの形式で表せます。8桁の2進数(00000000–11111111)、2桁の16進数(00–FF)、10進数(0–255)、または3桁の8進数(000–377)です。区切り文字なしでバイトを並べる場合、2進数、16進数、8進数は桁数を固定し、10進数は再び正しく分割できるよう3桁で表します。

デコード時は、形式の違いをある程度許容します。バイト間のスペース、改行、カンマ、セミコロンは無視され、0xや0bの接頭辞、\xエスケープも無視されます。各グループを検証し、選択した形式で使えない数字や255を超える値がある場合は、そのバイトの位置を示します。デコード後は、バイト列が有効なUTF-8かどうかを確認し、テキストでない場合はその旨を表示します。

旗や肌の色付き絵文字のように複数のコードポイントで構成される文字は、各コードポイントが個別にエンコードされるため、ここでは複数の文字として数えます。

使用例

定番の「Hi」を2進数に

HはASCIIで72、iは105なので、「Hi」は2進数で01001000 01101001、16進数で48 69、10進数で72 105になります。2文字、2バイト、16ビットです。

「Café」が5バイトになる理由

C、a、fはそれぞれ1バイトですが、éはUTF-8で2バイトです。2進数では11000011 10101001(C3 A9)になります。この単語は4文字ですが、5バイトを使用します。データベースの列の上限や、バイト単位で測定されるプロトコルフィールドでは、この違いが重要です。

16進ダンプを読み取る

デバッガーに48 65 6c 6c 6f 2c 20 e4 b8 96 e7 95 8cと表示されています。「バイト → テキスト」と「16進数」を選んで貼り付けると、「Hello, 世界」と表示されます。漢字1文字はそれぞれ3バイトです。

よくある質問

1文字が16、24、32ビットになるのはなぜですか?

UTF-8で1バイト(8ビット)に収まるのはASCII文字だけです。アクセント付き文字や多くのアルファベットは2バイト、中国語、日本語、韓国語、多くの記号は3バイト、絵文字は4バイトを使います。各バイトは個別のグループとして表示されます。

これはASCIIですか?それともUTF-8ですか?

UTF-8です。UTF-8はASCIIとの互換性を考慮して設計されているため、英語だけのテキストでは結果はASCIIと同じです。ASCIIだけでは、ASCII以外の文字を表現できません。

2進数をデコードするとエラーになるのはなぜですか?

各バイトは2進数8桁以内で、0と1だけを含む必要があります。スペースがない場合、桁数の合計は8の倍数でなければなりません。エラーメッセージには、読み取れなかったバイトが示されます。

「有効なUTF-8ではありません」とはどういう意味ですか?

バイト列が有効なUTF-8の並びになっていません。たとえば、127を超える単独のバイトや、途中で途切れた並びが該当します。データはWindows-1252など別の文字コードのファイルに由来するか、そもそもテキストではない可能性があります。

プライバシー

変換は、ブラウザーに組み込まれたUTF-8エンコーダーとデコーダーを使って実行されます。テキストがアップロード、保存されたり、アクセス解析に含まれたりすることはありません。