0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

106/109キーボードの、数字キーに刻印されている記号

Posted at

最近会社で聞かれて答えたことをまとめてみました。

事の発端は、ある16進ダンプを見ていたときのことです。もしかするとURLエンコードされた文字列だったかもしれません。

あー、16進数で0x25だから(キーボード見ながら)"%"だなとか話していると、なぜキーボードを見ているのかと聞かれました。

キーボードのどこを見ていたか

見ていたのは、106/109キーボードの数字キー"5"の上部に書かれている"%"という文字です。

実は106/109キーボードの数字キー"1"~"9"に書かれている記号は、ASCIIコードの"0x21"~"0x29"と一致します。キーボードはWikipediaのものを見てみることにしましょう。文字コード表はQiitaの他の方の記事を見てみることにしましょう。どちらも !"#$%&'() の順に並んでいることが分かります。

キーボードの"5"に書かれている記号"%"を見て、"16進数で0x25だから%"と話していたのでした。

たまたまこのような配置になったとは考えにくいです。そのため、意図的にこのような配置にしているのだと思います。しかし、このような配置にした経緯は、ネット上を探しても見つけられませんでした。

残念ながら、続く文字 *+,-./ ( 0x2A ~ 0x2F ) の変換を行うお手軽な方法はなさそうです。また、101/104キーボードにはこの種の裏技はなさそうです。

他にASCIIコードまわりのお手軽な変換は

存じ上げません。とはいっても、以下のようなことくらいは覚えておくほうがよいと思います。

  • 制御文字が 0x00 ~ 0x1f に集まっています。制御文字の中でも、よく使うものは覚えておくほうがよいでしょう。CR/LF/TABあたりはよく使う人が多いと思います。
  • スペースは 0x20 です。
  • 今回ターゲットとなった記号の範囲 0x21 ~ 0x29 は、106/109キーボードさえあれば変換できます。
  • 数字 0x30 ~0x39 には "0"~"9"が連続的に割り付けられています。
  • アルファベット大文字 0x41 ~ 0x5A と アルファベット小文字 0x61 ~ 0x7A には "A"~"Z"が連続的に割り付けられている。

派生知識

CR+LFで改行されたテキストをviで開いて、行末に表示される^Mを見たことのある人がいるかもしれません。"CR=^M" → "Mは13番目のアルファベット" → "CRは文字コード13" という結びつきができると、文字コードを覚えやすくなるかもしれません。

特別な設定をしていないと、Unix系OSのシェルから Ctrl-D の操作でログアウトします。"EOT(0x04)=^D"も同様の関係です。また、"LF(0x0a)=^J" や "TAB(0x08)=^I" も同様の関係です。

これらのことが分かると、制御文字 0x00 ~ 0x1f の一部の文字コードを覚えやすくなると思います。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?