ASCII コードとキーボード
昨日、ASCII コード表をボーっと眺めていて気がついたんだけど:
文字 | 16進 | 文字 | 16進 | 文字 | 16進 | 文字 | 16進 | |
---|---|---|---|---|---|---|---|---|
NUL | 0x00 | DLE | 0x10 | SP | 0x20 | 0 | 0x30 | |
SOH | 0x01 | DC1 | 0x11 | ! | 0x21 | 1 | 0x31 | |
STX | 0x02 | DC2 | 0x12 | " | 0x22 | 2 | 0x32 | |
ETX | 0x03 | DC3 | 0x13 | # | 0x23 | 3 | 0x33 | |
EOT | 0x04 | DC4 | 0x14 | $ | 0x24 | 4 | 0x34 | |
ENQ | 0x05 | NAK | 0x15 | % | 0x25 | 5 | 0x35 | |
ACK | 0x06 | SYN | 0x16 | & | 0x26 | 6 | 0x36 | |
BEL | 0x07 | ETB | 0x17 | ' | 0x27 | 7 | 0x37 | |
BS | 0x08 | CAN | 0x18 | ( | 0x28 | 8 | 0x38 | |
HT | 0x09 | EM | 0x19 | ) | 0x29 | 9 | 0x39 | |
NL | 0x0a | SUB | 0x1a | ∗ | 0x2a | : | 0x3a | |
VT | 0x0b | ESC | 0x1b | + | 0x2b | ; | 0x3b | |
NP | 0x0c | FS | 0x1c | , | 0x2c | < | 0x3c | |
CR | 0x0d | GS | 0x1d | - | 0x2d | = | 0x3d | |
SO | 0x0e | RS | 0x1e | . | 0x2e | > | 0x3e | |
SI | 0x0f | US | 0x1f | / | 0x2f | ? | 0x3f | |
文字 | 16進 | 文字 | 16進 | 文字 | 16進 | 文字 | 16進 | |
@ | 0x40 | P | 0x50 | ` | 0x60 | p | 0x70 | |
A | 0x41 | Q | 0x51 | a | 0x61 | q | 0x71 | |
B | 0x42 | R | 0x52 | b | 0x62 | r | 0x72 | |
C | 0x43 | S | 0x53 | c | 0x63 | s | 0x73 | |
D | 0x44 | T | 0x54 | d | 0x64 | t | 0x74 | |
E | 0x45 | U | 0x55 | e | 0x65 | u | 0x75 | |
F | 0x46 | V | 0x56 | f | 0x66 | v | 0x76 | |
G | 0x47 | W | 0x57 | g | 0x67 | w | 0x77 | |
H | 0x48 | X | 0x58 | h | 0x68 | x | 0x78 | |
I | 0x49 | Y | 0x59 | i | 0x69 | y | 0x79 | |
J | 0x4a | Z | 0x5a | j | 0x6a | z | 0x7a | |
K | 0x4b | [ | 0x5b | k | 0x6b | { | 0x7b | |
L | 0x4c | \ | 0x5c | l | 0x6c | 0x7c | ||
M | 0x4d | ] | 0x5d | m | 0x6d | } | 0x7d | |
N | 0x4e | ^ | 0x5e | n | 0x6e | ~ | 0x7e | |
O | 0x4f | _ | 0x5f | o | 0x6f | DEL | 0x7f |
日本語キーボードの数字の部分って、Shift と同時押しで記号が入力できるけど、実はその配列は ASCII コードで 0x10 を引いた記号の並びになってるのね。
また、それ以外の記号も基本、上位ビットの演算で求められるようになってるのね。
日本語キーボードは結構規則正しいのに、なんで英語キーボードは記号の配置が適当なんでしょう?