言語:日本語

tools / binary

binary/

テキストと 2 進数(0 と 1)を相互変換。1 バイトは 8 桁。文字コードは UTF-8、GBK、UTF-16 などから選べます。

テキスト

2 進数

よくある質問

漢字 1 文字は 2 進数で何桁になりますか?

1 バイトは常に 8 桁で表すため、桁数は文字コードによって変わります。UTF-8 では一般的な漢字は 3 バイト、つまり 24 桁で、「中」は 11100100 10111000 10101101 です。GBK・GB2312 では 2 バイト、つまり 16 桁で、「中」は 11010110 11010000 です。英字と数字は 1 バイトで、A は 01000001 です。

2 進数からテキストへの変換で、桁数が 8 の倍数でないと出た場合はどうすればよいですか?

8 桁で 1 バイトに対応するため、空白を除いた桁数は 8 の倍数である必要があります。そうでない場合は、あと何桁足すか、末尾の何桁を削除するかが表示されます。ほとんどはコピー時に桁が欠けた、または余分に入ったことが原因です。バイトごとに有効な桁だけを書く出典もあり、たとえば A を 1000001(7 桁)と書くものがあります。その場合は、先頭に 0 を足して 8 桁にしてから貼り付けてください。このツールは自動では補いません。

「0 でも 1 でもありません」と表示される、または 0b プレフィックスやカンマが付いている場合はどうすればよいですか?

半角の 0 と 1 だけを認識し、スペース・改行・タブは無視します。0b プレフィックス、カンマ、ハイフン、全角の0と1は認識せず、何文字目かが表示されるので、テキストエディタで削除または置き換えてから貼り付け直してください。

2 進数からテキストへの変換で「有効なテキストではない」と出る、または文字化けする場合はどうすればよいですか?

この 2 進数が現在の文字コードでエンコードされたものではない、という意味です。別の文字コードを試してください。中国語のテキストでは UTF-8 と GBK が最も一般的です。このツールは、デコードできないバイト列を文字化けした状態で無理に表示することはしません。例外は ISO-8859-1 で、どのバイトも何らかの文字に対応するためエラーにはなりませんが、日本語や中国語は文字化けします。GBK と GB2312 はどちらもブラウザ標準の GB18030 デコーダーで処理しており、Python や Java より寛容なため、GB2312 を選んでも GBK にしかない文字がデコードできます。そもそもテキストではないデータ(画像、圧縮ファイル)は、どの文字コードを選んでもデコードできません。

数字の 10 を入力しても 1010 にならないのはなぜですか?

このツールが変換するのは文字のバイト列で、数値ではありません。入力した 10 は「1」と「0」の 2 文字で、UTF-8 では 00110001 00110000 になります。10 進数の 10 を 2 進数の 1010 に変えるには基数変換ツールが必要で、ここではできません。

区切り文字の「スペース」と「なし」はどう違いますか?

「スペース」ではバイトの間に空白が 1 つ入り、「なし」では全体が 1 つの文字列としてつながります。各バイトの桁は上位から下位の順で、左端が最上位ビットです。デコード時はどちらの形式も認識し、スペースがバイトの境界に合っている必要はありません。空白を除いた合計桁数だけが問われます。

UTF-16 や UTF-32 の結果がとても長いのはなぜですか?

UTF-16 は 1 文字あたり最低 2 バイトで、先頭にさらに FE FF の 2 バイト(11111110 11111111)が付くため、「中」は 11111110 11111111 01001110 00101101 になります。UTF-32 は 1 文字あたり固定で 4 バイトで、「中」は 00000000 00000000 01001110 00101101 です。どちらもビッグエンディアンです。

入力した内容はアップロードされますか?

いいえ。変換はブラウザ内で完結し、通信は行わず、保存もしません。