本文へ移動
Develop Tools
← 使い方ガイドへ戻る

文字からASCIIコードを調べる方法|A・a・0・記号を10進・16進で確認

調べたい1文字を文字形式で逆引きすると、ASCII範囲内なら10進・16進・8進・2進とU+表記を同時に確認できます。

文字AからDecimal 65、Hex 41、Binary 1000001へ変換する流れ
文字AからDecimal 65、Hex 41、Binary 1000001へ変換する流れ

文字・数値をASCIIコード表で確認する

標準ASCII 0〜127をBrowser内で検索し、単一文字または基数を指定した数値から、各基数・名称・Escape表記を逆引きできます。入力値をDevelopToolsのServerへ送信・保存しません。

文字からASCIIコードを調べる

結論:文字・数値・入力基数を最初に確定する

Aは65・0x41、aは97・0x61、0は48・0x30です。現行Toolは単一文字を対象とし、複数文字の一括変換は行いません。

「あ」はASCII範囲外で、現行ToolはUnicode値へ自動Fallbackしません。

代表文字を文字から引く

入力10進16進2進
A650x410b01000001
a970x610b01100001
0480x300b00110000
!330x210b00100001
\920x5C0b01011100

入力形式と接頭辞を明示して逆引きする

入力自動判定形式を明示した場合
6510進65 → A10進として解析
0x4116進0x41 → A16進では0xあり・なしを許可
4110進41 → )16進を選べば0x41 → A
0o1018進0o101 → A8進では0oあり・なしを許可
0b010000012進 → A2進では0bあり・なしを許可
U+0041Unicode表記 → AUnicodeではU+あり・なしを許可
A単一文字 → 65文字として解析
AB / 128 / あ無効ASCII 0〜127として解釈できない

接頭辞なしの41をHexだと推測しません。通信仕様やLogの基数が分かっている場合は、入力形式を16進・8進・2進へ切り替えてから調べます。

現行ASCIIコード表・文字コード逆引きツールの対応範囲

操作対応内容現在の境界
一覧標準ASCII 0〜127の128項目128〜255のコードページ表は掲載しない
表示文字、10進、16進、8進、2進、Unicode、略称、名称、説明、分類UTF-8のByte列やUnicode名検索はUnicode Toolで確認
逆引き単一文字、10進、0x、0o、0b、U+形式複数文字の一括分解は未対応
入力形式自動、文字、10進、16進、8進、2進、Unicodeを明示選択自動判定の接頭辞なし数字は10進として扱う
検索文字、各基数、略称、英語名、日本語説明正規表現検索やコードページ切替は未対応
分類制御文字、印字可能、数字、英大文字、英小文字、記号DELはUI上で制御文字グループへ含める
コピー実文字、各基数、Unicode、言語別Escape、HTML Entity制御実文字は貼り付け先で不可視動作を起こし得る

入力が「あ」や128などASCII範囲外の場合、現行Toolは「ASCII 0〜127として解釈できません」と表示します。Unicode Code Pointを自動表示するFallbackはありません。

標準ASCIIは7bitの0〜127として扱う

範囲区分
0〜31制御文字・Format Effector等NUL、BEL、HT、LF、CR、ESC
32SPACE通常は字形を持たない空白
33〜126印字可能文字記号、数字、A〜Z、a〜z
127DEL非印字。RFC 20では厳密にはControl Characterではないと注記
128〜255標準ASCIIの範囲外Code Pageを指定しなければ文字を確定できない

「Extended ASCII」は単一規格ではありません。Windows-1252、CP437、ISO-8859-1などで上位128値の割り当てが異なるため、数値だけで文字を決めません。

同じコード位置を10進・16進・8進・2進で読む

文字10進16進8進2進Unicode
A650x410o1010b01000001U+0041
a970x610o1410b01100001U+0061
0480x300o0600b00110000U+0030
SPACE320x200o0400b00100000U+0020

これらは別の文字コードではなく、同じ整数を異なる基数で表した値です。現行Toolの表は16進を2桁、8進を3桁、2進を8桁へゼロ埋めし、コピー時は0x・0o・0bを付けます。

制御文字は可視ラベルとEscape表記で確認する

名称10進16進代表Escape意味の目安
NUL000\0Null。C文字列終端等で利用
BEL707\a注意喚起
BS808\bBackspace
HT / TAB909\tHorizontal Tab
LF100A\nLine Feed
FF120C\fForm Feed
CR130D\rCarriage Return
ESC271B\x1B等Escape
DEL1277F\x7F等Delete・非印字

現行ToolはNUL、TAB、LF、CR、ESC、SPACE、DEL等を文字欄へそのまま置かず、名称ラベルで可視化します。実文字コピーとEscape表記コピーは意味が異なります。

画面上の「\n」はBackslashとnの2文字です。実際のLFは1つの制御文字で、コピー・比較・Hashでは別データです。

ASCII・Unicode Code Point・UTF-8 Byte列を分ける

文字ASCIIUnicode Code PointUTF-8
A65 / 0x41U+004141
\92 / 0x5CU+005C5C
範囲外U+3042E3 81 82
😀範囲外U+1F600F0 9F 98 80

Unicodeは文字へCode Pointを割り当て、UTF-8はそのCode PointをByte列へ符号化します。ASCII範囲はUnicodeのU+0000〜U+007Fと同じ配置で、UTF-8でも1Byteの値が一致しますが、ASCII外では同一視できません。

現行ASCII Toolの「Unicode」列はASCII文字に対応するU+表記です。任意Unicode文字のUTF-8・UTF-16解析や正規化はUnicodeコード表Toolで確認します。

プログラムAPIの戻り値をASCII専用と決めつけない

環境正確な意味
Pythonord("A") → 651文字のUnicode Code Point。ASCII範囲ならASCII値と一致
Pythonchr(65) → "A"Unicode Code Pointから文字を返す
JavaScript"A".charCodeAt(0) → 65指定位置のUTF-16 Code Unit
JavaScript"😀".codePointAt(0)先頭のUnicode Code Pointを取得
Cprintf("%d", 'A')文字定数の値。一般的ASCII互換環境では65
C'\0' と '0'NUL 0とDigit Zero 48で別値

ASCII英字ではAとaの差が32ですが、この規則をUnicode全体のCase変換へ一般化しません。実装では各言語のCase Conversion APIとLocale要件を確認します。

入力値はBrowser内で処理する

現行ASCII Toolの検索・逆引き・コピー値生成はBrowser内のJavaScriptで行います。検索値や選択文字をfetch・sendBeaconで外部送信せず、LocalStorageへ保存するのはLight・DarkのTheme設定だけです。

  • ASCII MasterはRepository内で生成した0〜127の固定Dataを参照します。
  • 検索は文字、基数表現、略称、名称、説明をBrowser内で照合します。
  • Clipboardへの書き込みは利用者がCopy操作したときだけ行います。
  • 制御実文字は貼り付け先の挙動を変える可能性があるため、必要ならCodeまたはEscapeをコピーします。

値の意味に応じて関連Toolを使い分ける

ASCII ToolはCodeとCharacterの対応を調べるものです。任意整数の基数変換、Unicode全体の検索、差分比較、URL Encoding、Base64 Encodingは別の処理として確認します。

一次資料で名称とAPIの意味を確認する

ASCIIの範囲・名称はRFC 20とUnicode Basic Latin、Unicode文字はUnicode公式、PythonとJavaScript APIは各公式仕様を優先します。記事中の「現行Tool」はRepositoryで確認した実装範囲です。

まとめ

  • 1文字ずつ逆引きする
  • A・a・0・記号で値を確認する
  • ASCII外文字へ適当なByte値を付けない

表示された文字だけでなく、範囲、入力基数、Code Point、Byte列、Escape notationを分けて確認すると、ASCII逆引きと文字コード問題を混同せずに切り分けられます。

具体例:文字からASCIIコードを調べる方法を確認する

元の文字列やLogを変更せず、調べたい1文字または数値を切り出します。基数が不明なら、0x・0b等の接頭辞と仕様書の表記を先に確認します。

ASCII Toolで対応する文字・名称・各基数を確認し、ASCII外ならUnicodeまたは元Encodingの調査へ切り替えます。

  1. 調べたい値と、その値が文字・10進・16進・8進・2進のどれかを確認します。
  2. 文字またはコード欄へ1件だけ入力し、入力形式を自動判定または明示指定します。
  3. 逆引き結果の文字、Decimal、Hex、Octal、Binary、Unicode、名称を照合します。
  4. 制御文字では可視ラベルとEscape表記を確認し、実文字のCopyは必要な場合だけ行います。
  5. 0〜127外ならCode PageまたはUnicode Toolで確認し、ASCII値として確定しません。

値を正しく読むには「何進数か」「標準ASCIIか」「Code PointかByte列か」の3点を残してください。

よくある質問

ASCIIは0〜255ではありませんか?
標準ASCIIは7bitの0〜127です。128〜255はWindows-1252やCP437等のCode Pageで割り当てが異なるため、単一のASCII表として確定できません。
日本語やEmojiもASCIIコードへ変換できますか?
できません。ASCII範囲外です。Unicode Code PointとUTF-8等のEncodingを分け、Unicodeコード表Toolで確認してください。
検索値やコピー内容は外部へ送信・保存されますか?
現行Toolの検索・逆引き・コピー値生成はBrowser内で行い、入力値をfetch・sendBeaconで送信せず、検索履歴もLocalStorageへ保存しません。