テキストと10進数の相互変換ツール

テキストの各バイトを 0~255 の10進数に変換します。英語のテキストなら、おなじみの ASCII コードになります。10進数の値の並びをテキストに戻すこともできます。

すべてブラウザ内で処理され、データはアップロードされません。

使い方

  1. テキストを10進数に変換するには「エンコード」を、数値をテキストに戻すには「デコード」を選択します。
  2. テキストや数値を入力または貼り付けるか、ファイルを開きます。結果は入力に合わせてリアルタイムに更新されます。
  3. 数値の「区切り文字」を「スペース」「カンマ」「改行」から選びます。
  4. 数値をコピーするか、ファイルとしてダウンロードします。

10進数のバイト値と ASCII コード

コンピューターでは、すべての文字が 1 バイト以上で保存されます。そして 1 バイトは 0~255 の数値にすぎません。このツールは、その数値を通常の10進数で書き出します。英語のテキストでは、おなじみの ASCII コードになります。大文字は 65~90、小文字は 97~122、数字の 0~9 は 48~57、スペースは 32 です。32 未満は制御文字で、たとえば改行(LF)は 10、復帰(CR)は 13 です。

結果は、Python の ord() や JavaScript で Uint8Array を読み取って得られる値と同じです。文字列に含まれる目に見えない文字、改行コード、バイトオーダーマーク(BOM)を見つけるのにも便利です。

1 つの大きな数ではなく、1 バイトごとに 1 つの数値

変換は 1 バイトずつ行われます。2 文字の単語は 1 つの整数ではなく、2 つの数値になります。ASCII のテキストに 127 を超える値が現れることはありません。UTF-8 では、こうした値は 2~4 バイトの組になって 1 文字を表すため、アクセント付きの文字や漢字 1 文字から複数の数値が得られます。漢字やかなを 1 文字 2 つの数値で表すには、「文字コード」で Shift_JIS を選択してください。西ヨーロッパの言語のテキストを 1 文字 1 つの値で表すには、各バイト値がその文字の Unicode コードポイントと一致する ISO-8859-1、または Windows-1252 を選択してください。

255 を16進数にするなど、1 つの数値の基数を変換したい場合は、基数変換ツールを使用してください。同じバイト列を別の表記で確認するには、16進数や2進数のツールをお試しください。

コードで10進数のバイト値を扱う

# Python
list('Hi'.encode())                  # [72, 105]
bytes([72, 105]).decode()            # 'Hi'

// JavaScript
[...new TextEncoder().encode('Hi')]                   // [72, 105]
new TextDecoder().decode(new Uint8Array([72, 105]))   // 'Hi'

仕様

使用文字0-9
出力サイズ1 バイトあたり 1~3 桁と区切り文字
パディングなし
規格10進数のバイト値
大文字と小文字の区別なし

エンコード例

入力 (UTF-8)出力
Hello, World!72 101 108 108 111 44 32 87 111 114 108 100 33
Base64.is66 97 115 101 54 52 46 105 115
你好228 189 160 229 165 189

よくある質問

A の10進数の ASCII コードはいくつですか?

大文字の A は 65、小文字の a は 97 で、ASCII でも UTF-8 でも同じです。以降の文字は 1 ずつ増えるため、Z は 90、z は 122 です。

区切り文字のない10進数をデコードできますか?

いいえ。72105 のような数字の並びは複数の方法で区切れてしまうため、デコーダーでは数値をスペース、カンマ、セミコロン、改行で区切る必要があります。先頭のゼロは使用できます。

255 より大きい数値がエラーになるのはなぜですか?

1 バイトが表せるのは 0~255 の値です。ユーロ記号の Unicode コードポイント 8364 のような大きな数値は、バイト値ではありません。文字そのものを入力してエンコードすると、UTF-8 などでのバイト値を確認できます。

1 文字が複数の数値になるのはなぜですか?

UTF-8 では、ASCII 以外の文字は 2~4 バイトで保存され、各バイトがそれぞれ 1 つの数値になります。西ヨーロッパの文字を 1 文字 1 つの数値で表したい場合は、Windows-1252 などの 1 バイト文字コードを選択してください。