ASCIIコードって
ASCIIコードとは(American Standard Code for Information Interchange)の略で情報交換用米国標準コードが正式名称
昔は、ANSI文字コードとかも言われていた。
ANSIとは、American National Standards Instituteの略称で、米国規格協会と訳されています。アメリカの工業製品などの規格の標準化を行なっている非営利団体、日本でいうなら日本工業規格(JIS)に相当
ASCIIはANSIが定める文字コードです。つまりASCIIはANSIの定める規格のひとつになります。
ANSI Cなんてのもあって、米国規格のC言語って感じですね。
ASCIIは、7桁の2進数で表され、2進数のそれぞれに、大文字、小文字のラテン文字(英字)や数字、英文でよく使われる文字などを割り当てた文字コード。
ASCIIは7ビットコードで。情報を表すのに7桁の2進数(10進数では0~127)を使用する。128以降の部分には、日本では、半角カナが登録された 128は16進で0x80、2進数で1000 0000となり8bit必要になるため日本産業規格 (JIS) のJIS X 0201と表記になる、JIS X 0201の部分は、Shift JIS、EUC-JPでは共通の部分となり漢字文字など含んでShift JISコードなどと言われる。
半角カナが追加されている部分までを、ANKコードとか・・・・
JIS X 0201の部分が同じであることは、開発言語で記載されたプログラムコードがどの文字コードでも文字化けしないようになっている。
UTF8等では、ASCIIコードで共通になっているので注意が必要。
また、JIS X 0201では、ASCIIコードのバックスラッシュが円マーク、チルダの替わりにオーバーラインに変更されているので注意が必要です。
これは、日本にパソコンが来た時に、ASCIIコードが各国で変更しても問題ない、まだ規格が統一前だったので、日本の金額を表記する記号がいるということで追加されました。
昔の、パソコンでは、ASCIIコードで表記される部分は、パソコン製造するメーカー毎でばらばらだったため、当時は、拡張部分も機種依存文字があったり・・JISで統一されるようになって現在..
最終的にはNECの形式が採用された。当時のOS DOSも各メーカーが改造を加えていたのでばらばら・・だった。。Windows 98が出るまでは、各ハードメーカーがOSに手を加えていた。。
余談
昔って、プログラムコードの中に漢字つかえなかったんですよね・・・コンパイルエラーとか・・・
当時のソフトは、輸入もので、Shift JISとか漢字に対応していないものが、ほとんどで。。。文字化けだったり・・・Webでいえば、Perl,phpなどがそれで、いまは、UTF8化され問題ないですが・・
MSC 5,6とかぐらいから、まともに・・Turbo C とか、NEC向けもよかったかなぁ。
漢字を拡張するとき、ASCIIコードの領域が使用され、半角カナが使用されていない領域 0x80から0x9f 0xE0から0xFCまでを先頭において、2バイトで表現するようにしたものShift JIS
文字化けは、Shift JISを判断するには、0x80から0x9f 0xE0から0xFCの範囲が見つかったら、2バイトコード漢字だから、次の文字までとって漢字にするロジックがないので文字化けが起きてしまう。。
筆者は、MSC(dosコンパイラ)のライブラリを、VC++に持ってきて、愕然としたのが、perlのように、表示という文字でエラーが・・、、コンパイラの先祖返り・・・まぁ。たぶん、Windowsも内部コードも変わって、Shift JISの判定なくなったんだと・・思ったときが・・・あって・・・
昔、ライフボートから出てた・・Lattice Cとか・・・つらい思い出しかないです。。標準ヘッダー手修正しないとつかえないとか。。。。
アスキーコード表
US-ASCIIコードとする場合は、オーバーラインがチルダ、¥がバックスラッシュです。このあたりは、OSなどで変わるので... Windows10だと、¥と~ででます。。。b7 | 0 | 0 | 0 | 0 | 1 | 1 | 1 | 1 | ||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
b6 | 0 | 0 | 1 | 1 | 0 | 0 | 1 | 1 | ||||
b5 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 1 | ||||
b4 | b3 | b2 | b1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | |
0 | 0 | 0 | 0 | 0 | NUL | DLE | SP | 0 | @ | P | ` | p |
0 | 0 | 0 | 1 | 1 | SOH | DC1 | ! | 1 | A | Q | a | q |
0 | 0 | 1 | 0 | 2 | STX | DC2 | " | 2 | B | R | b | r |
0 | 0 | 1 | 1 | 3 | ETX | DC3 | # | 3 | C | S | c | s |
0 | 1 | 0 | 0 | 4 | EOT | DC4 | $ | 4 | D | T | d | t |
0 | 1 | 0 | 1 | 5 | ENQ | NAK | % | 5 | E | U | e | u |
0 | 1 | 1 | 0 | 6 | ACK | SYN | & | 6 | F | V | f | v |
0 | 1 | 1 | 1 | 7 | BEL | ETB | ' | 7 | G | W | g | w |
1 | 0 | 0 | 0 | 8 | BS | CAN | ( | 8 | H | X | h | x |
1 | 0 | 0 | 1 | 9 | HT | EM | ) | 9 | I | Y | i | y |
1 | 0 | 1 | 0 | A | LF | SUB | * | : | J | Z | j | z |
1 | 0 | 1 | 1 | B | VT | ESC | + | ; | K | [ | k | { |
1 | 1 | 0 | 0 | C | FF | FS | , | < | L | ¥ | l | | |
1 | 1 | 0 | 1 | D | CR | GS | - | = | M | ] | m | } |
1 | 1 | 1 | 0 | E | SO | RS | . | > | N | ^ | n |  ̄ |
1 | 1 | 1 | 1 | F | SI | US | / | ? | O | _ | o | DEL |
JIS X 0201 コード表 ANKコード
b8 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | ||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
b7 | 0 | 0 | 0 | 0 | 1 | 1 | 1 | 1 | 0 | 0 | 0 | 0 | 1 | 1 | 1 | 1 | ||||
b6 | 0 | 0 | 1 | 1 | 0 | 0 | 1 | 1 | 0 | 0 | 1 | 1 | 0 | 0 | 1 | 1 | ||||
b5 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 1 | ||||
b4 | b3 | b2 | b1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | A | B | C | D | E | F | |
0 | 0 | 0 | 0 | 0 | NUL | DLE | SP | 0 | @ | P | ' | p | ー | タ | ミ | |||||
0 | 0 | 0 | 1 | 1 | SOH | DC1 | ! | 1 | A | Q | a | q | 。 | ア | チ | ム | ||||
0 | 0 | 1 | 0 | 2 | STX | DC2 | " | 2 | B | R | b | r | 「 | イ | ツ | メ | ||||
0 | 0 | 1 | 1 | 3 | ETX | DC3 | # | 3 | C | S | c | s | 」 | ウ | テ | モ | ||||
0 | 1 | 0 | 0 | 4 | EOT | DC4 | $ | 4 | D | T | d | t | 、 | エ | ト | ヤ | ||||
0 | 1 | 0 | 1 | 5 | ENQ | NAC | % | 5 | E | U | e | u | ・ | オ | ナ | ユ | ||||
0 | 1 | 1 | 0 | 6 | ACK | SYN | & | 6 | F | V | f | v | ヲ | カ | ニ | ヨ | ||||
0 | 1 | 1 | 1 | 7 | BEL | ETB | ' | 7 | G | W | g | w | ァ | キ | ヌ | ラ | ||||
1 | 0 | 0 | 0 | 8 | BS | CAN | ( | 8 | H | X | h | x | ィ | ク | ネ | リ | ||||
1 | 0 | 0 | 1 | 9 | HT | EM | ) | 9 | I | Y | i | y | ゥ | ケ | ノ | ル | ||||
1 | 0 | 1 | 0 | A | LF/NL | SUB | * | : | J | Z | j | z | ェ | コ | ハ | レ | ||||
1 | 0 | 1 | 1 | B | VT | ESC | + | ; | K | [ | k | { | ォ | サ | ヒ | ロ | ||||
1 | 1 | 0 | 0 | C | FF | FS | , | < | L | ¥ | l | | | ャ | シ | フ | ワ | ||||
1 | 1 | 0 | 1 | D | CR | GS | - | = | M | ] | m | } | ュ | ス | ヘ | ン | ||||
1 | 1 | 1 | 0 | E | SO | RS | . | > | N | ^ | n | ~ | ョ | セ | ホ | ゙ | ||||
1 | 1 | 1 | 1 | F | SI | US | / | ? | O | _ | o | DEL | ッ | ソ | マ | ゚ |
Table 1: ASCII 制御コード
10進数 | 2進数 | 8進数 | 16進数 | 文字 | 英語説明 | 説明 |
---|---|---|---|---|---|---|
00 | 0 | 0 | 0 | NULL | Null character | ヌル文字 |
01 | 1 | 1 | 1 | SOH | Start of Header | ヘッディング開始 |
02 | 10 | 2 | 2 | STX | Start of Text | テキスト開始 |
03 | 11 | 3 | 3 | ETX | End of Text, hearts card suit | テキスト終了 |
04 | 100 | 4 | 4 | EOT | End of Transmission, diamonds card suit | 伝送終了 |
05 | 101 | 5 | 5 | ENQ | Enquiry, clubs card suit | 問い合わせ |
06 | 110 | 6 | 6 | ACK | Acknowledgement, spade card suit | 肯定応答 |
07 | 111 | 7 | 7 | BEL | Bell | ベル |
08 | 1000 | 10 | 8 | BS | Backspace | 後退 |
09 | 1001 | 11 | 9 | HT | Horizontal Tab | 水平タブ |
10 | 1010 | 12 | a | LF | Line feed | 改行 |
11 | 1011 | 13 | b | VT | Vertical Tab, male symbol, symbol for Mars | 垂直タブ |
12 | 1100 | 14 | c | FF | Form feed, female symbol, symbol for Venus | 書式送り |
13 | 1101 | 15 | d | CR | Carriage return | 復帰 |
14 | 1110 | 16 | e | SO | Shift Out | シフトアウト |
15 | 1111 | 17 | f | SI | Shift In | シフトイン |
16 | 10000 | 20 | 10 | DLE | Data link escape | 伝送制御拡張 |
17 | 10001 | 21 | 11 | DC1 | Device control 1 | 装置制御1、XON |
18 | 10010 | 22 | 12 | DC2 | Device control 2 | 装置制御2 |
19 | 10011 | 23 | 13 | DC3 | Device control 3 | 装置制御3、XOFF |
20 | 10100 | 24 | 14 | DC4 | Device control 4 | 装置制御4 |
21 | 10101 | 25 | 15 | NAK | NAK Negative-acknowledge | 否定応答 |
22 | 10110 | 26 | 16 | SYN | Synchronous idle | 同期信号 |
23 | 10111 | 27 | 17 | ETB | End of trans. block | 伝送ブロック終結 |
24 | 11000 | 30 | 18 | CAN | Cancel | 取消 |
25 | 11001 | 31 | 19 | EM | End of medium | 媒体終端 |
26 | 11010 | 32 | 1a | SUB | Substitute | 置換 |
27 | 11011 | 33 | 1b | ESC | Escape | エスケープ |
28 | 11100 | 34 | 1c | FS | File separator | ファイル分離標識 |
29 | 11101 | 35 | 1d | GS | Group separator | グループ分離標識 |
30 | 11110 | 36 | 1e | RS | Record separator | レコード分離標識 |
31 | 11111 | 37 | 1f | US | Unit separator | ユニット分離標識 |
127 | 1111111 | 177 | 7f | DEL | Delete | 抹消 |
Table 2: ASCII ラテン文字用図形文字集合
10進数 | 2進数 | 8進数 | 16進数 | 文字 | 説明 | 説明 |
---|---|---|---|---|---|---|
32 | 100000 | 40 | 20 | space | Space | 半角スペース |
33 | 100001 | 41 | 21 | ! | Exclamation mark | エクスクラメーションマーク、びっくりマーク |
34 | 100010 | 42 | 22 | " | Double quotes ; Quotation mark ; speech marks | ダブルクォート、二重引用符 |
35 | 100011 | 43 | 23 | # | Number sign | シャープ、いげた |
36 | 100100 | 44 | 24 | $ | Dollar sign | ドルマーク、ダラー |
37 | 100101 | 45 | 25 | % | Percent sign | パーセント |
38 | 100110 | 46 | 26 | & | Ampersand | アンパサンド(アンド) |
39 | 100111 | 47 | 27 | ' | Single quote or Apostrophe | シングルクォート、単引用符 |
40 | 101000 | 50 | 28 | ( | round brackets or parentheses, opening round bracket | 左小括弧、小括弧開く |
41 | 101001 | 51 | 29 | ) | parentheses or round brackets, closing parentheses | 右小括弧、小括弧閉じる |
42 | 101010 | 52 | 2a | * | Asterisk | アスタリスク(アスタ) |
43 | 101011 | 53 | 2b | + | Plus sign | プラス、足す |
44 | 101100 | 54 | 2c | , | Comma | カンマ、コンマ |
45 | 101101 | 55 | 2d | - | Hyphen, minus sign | マイナス、引く |
46 | 101110 | 56 | 2e | . | Dot, full stop | ピリオド、ドット、てん、ぽち |
47 | 101111 | 57 | 2f | / | Slash, forward slash, fraction bar, division slash | スラッシュ(スラ) |
48 | 110000 | 60 | 30 | 0 | number zero | 数字0 |
49 | 110001 | 61 | 31 | 1 | number one | 数字1 |
50 | 110010 | 62 | 32 | 2 | number two | 数字2 |
51 | 110011 | 63 | 33 | 3 | number three | 数字3 |
52 | 110100 | 64 | 34 | 4 | number four | 数字4 |
53 | 110101 | 65 | 35 | 5 | number five | 数字5 |
54 | 110110 | 66 | 36 | 6 | number six | 数字6 |
55 | 110111 | 67 | 37 | 7 | number seven | 数字7 |
56 | 111000 | 70 | 38 | 8 | number eight | 数字8 |
57 | 111001 | 71 | 39 | 9 | number nine | 数字9 |
58 | 111010 | 72 | 3a | : | Colon | コロン |
59 | 111011 | 73 | 3b | ; | Semicolon | セミコロン |
60 | 111100 | 74 | 3c | < | Less-than sign | レスザン、小なり |
61 | 111101 | 75 | 3d | = | Equals sign | イコール、等号 |
62 | 111110 | 76 | 3e | > | Greater-than sign ; Inequality | グレーターザン、大なり |
63 | 111111 | 77 | 3f | ? | Question mark | クエスチョンマーク、はてな |
64 | 1000000 | 100 | 40 | @ | At sign | アットマーク |
65 | 1000001 | 101 | 41 | A | Capital letter A | 大文字英字 A |
66 | 1000010 | 102 | 42 | B | Capital letter B | 大文字英字 B |
67 | 1000011 | 103 | 43 | C | Capital letter C | 大文字英字 C |
68 | 1000100 | 104 | 44 | D | Capital letter D | 大文字英字 D |
69 | 1000101 | 105 | 45 | E | Capital letter E | 大文字英字 E |
70 | 1000110 | 106 | 46 | F | Capital letter F | 大文字英字 F |
71 | 1000111 | 107 | 47 | G | Capital letter G | 大文字英字 G |
72 | 1001000 | 110 | 48 | H | Capital letter H | 大文字英字 H |
73 | 1001001 | 111 | 49 | I | Capital letter I | 大文字英字 I |
74 | 1001010 | 112 | 4a | J | Capital letter J | 大文字英字 J |
75 | 1001011 | 113 | 4b | K | Capital letter K | 大文字英字 K |
76 | 1001100 | 114 | 4c | L | Capital letter L | 大文字英字 L |
77 | 1001101 | 115 | 4d | M | Capital letter M | 大文字英字 M |
78 | 1001110 | 116 | 4e | N | Capital letter N | 大文字英字 N |
79 | 1001111 | 117 | 4f | O | Capital letter O | 大文字英字 O |
80 | 1010000 | 120 | 50 | P | Capital letter P | 大文字英字 P |
81 | 1010001 | 121 | 51 | Q | Capital letter Q | 大文字英字 Q |
82 | 1010010 | 122 | 52 | R | Capital letter R | 大文字英字 R |
83 | 1010011 | 123 | 53 | S | Capital letter S | 大文字英字 S |
84 | 1010100 | 124 | 54 | T | Capital letter T | 大文字英字 T |
85 | 1010101 | 125 | 55 | U | Capital letter U | 大文字英字 U |
86 | 1010110 | 126 | 56 | V | Capital letter V | 大文字英字 V |
87 | 1010111 | 127 | 57 | W | Capital letter W | 大文字英字 W |
88 | 1011000 | 130 | 58 | X | Capital letter X | 大文字英字 X |
89 | 1011001 | 131 | 59 | Y | Capital letter Y | 大文字英字 Y |
90 | 1011010 | 132 | 5a | Z | Capital letter Z | 大文字英字 Z |
91 | 1011011 | 133 | 5b | [ | square brackets or box brackets, opening bracket | 左大括弧、大括弧開く |
92 | 1011100 | 134 | 5c | \ | Backslash, reverse slash | バックスラッシュ→円記号 |
93 | 1011101 | 135 | 5d | ] | box brackets or square brackets, closing bracket | 右大括弧、大括弧閉じる |
94 | 1011110 | 136 | 5e | ^ | Circumflex accent or Caret | ハット、やま |
95 | 1011111 | 137 | 5f | _ | underscore, understrike, underbar or low line | アンダーバー、アンダースコア |
96 | 1100000 | 140 | 60 | ` | Grave accent | バックオォート |
97 | 1100001 | 141 | 61 | a | Lowercase letter a, minuscule a | 小文字英字 a |
98 | 1100010 | 142 | 62 | b | Lowercase letter b, minuscule b | 小文字英字 b |
99 | 1100011 | 143 | 63 | c | Lowercase letter c, minuscule c | 小文字英字 c |
100 | 1100100 | 144 | 64 | d | Lowercase letter d, minuscule d | 小文字英字 d |
101 | 1100101 | 145 | 65 | e | Lowercase letter e, minuscule e | 小文字英字 e |
102 | 1100110 | 146 | 66 | f | Lowercase letter f, minuscule f | 小文字英字 f |
103 | 1100111 | 147 | 67 | g | Lowercase letter g, minuscule g | 小文字英字 g |
104 | 1101000 | 150 | 68 | h | Lowercase letter h, minuscule h | 小文字英字 h |
105 | 1101001 | 151 | 69 | i | Lowercase letter i, minuscule i | 小文字英字 i |
106 | 1101010 | 152 | 6a | j | Lowercase letter j, minuscule j | 小文字英字 j |
107 | 1101011 | 153 | 6b | k | Lowercase letter k, minuscule k | 小文字英字 k |
108 | 1101100 | 154 | 6c | l | Lowercase letter l, minuscule l | 小文字英字 l |
109 | 1101101 | 155 | 6d | m | Lowercase letter m, minuscule m | 小文字英字 m |
110 | 1101110 | 156 | 6e | n | Lowercase letter n, minuscule n | 小文字英字 n |
111 | 1101111 | 157 | 6f | o | Lowercase letter o, minuscule o | 小文字英字 o |
112 | 1110000 | 160 | 70 | p | Lowercase letter p, minuscule p | 小文字英字 p |
113 | 1110001 | 161 | 71 | q | Lowercase letter q, minuscule q | 小文字英字 q |
114 | 1110010 | 162 | 72 | r | Lowercase letter r, minuscule r | 小文字英字 r |
115 | 1110011 | 163 | 73 | s | Lowercase letter s, minuscule s | 小文字英字 s |
116 | 1110100 | 164 | 74 | t | Lowercase letter t, minuscule t | 小文字英字 t |
117 | 1110101 | 165 | 75 | u | Lowercase letter u, minuscule u | 小文字英字 u |
118 | 1110110 | 166 | 76 | v | Lowercase letter v, minuscule v | 小文字英字 v |
119 | 1110111 | 167 | 77 | w | Lowercase letter w, minuscule w | 小文字英字 w |
120 | 1111000 | 170 | 78 | x | Lowercase letter x, minuscule x | 小文字英字 x |
121 | 1111001 | 171 | 79 | y | Lowercase letter y, minuscule y | 小文字英字 y |
122 | 1111010 | 172 | 7a | z | Lowercase letter z, minuscule z | 小文字英字 z |
123 | 1111011 | 173 | 7b | { | braces or curly brackets, opening braces | 左中括弧、中括弧開く |
124 | 1111100 | 174 | 7c | | | vertical-bar, vbar, vertical line or vertical slash | パイプ、縦棒 |
125 | 1111101 | 175 | 7d | } | curly brackets or braces, closing curly brackets | 右中括弧、中括弧閉じる |
126 | 1111110 | 176 | 7e | ~ | Tilde ; swung dash | チルダ→オーバーライン |
127 | 1111111 | 177 | 7f | DEL | Delete | 削除 |
Table 3: ASCII 拡張 片仮名図形文字集合:
10進数 | 2進数 | 8進数 | 16進数 | 文字 | 説明 |
---|---|---|---|---|---|
128 | 10000000 | 200 | 80 | ||
129 | 10000001 | 201 | 81 | ||
130 | 10000010 | 202 | 82 | ||
131 | 10000011 | 203 | 83 | ||
132 | 10000100 | 204 | 84 | ||
133 | 10000101 | 205 | 85 | ||
134 | 10000110 | 206 | 86 | ||
135 | 10000111 | 207 | 87 | ||
136 | 10001000 | 210 | 88 | ||
137 | 10001001 | 211 | 89 | ||
138 | 10001010 | 212 | 8a | ||
139 | 10001011 | 213 | 8b | ||
140 | 10001100 | 214 | 8c | ||
141 | 10001101 | 215 | 8d | ||
142 | 10001110 | 216 | 8e | ||
143 | 10001111 | 217 | 8f | ||
144 | 10010000 | 220 | 90 | ||
145 | 10010001 | 221 | 91 | ||
146 | 10010010 | 222 | 92 | ||
147 | 10010011 | 223 | 93 | ||
148 | 10010100 | 224 | 94 | ||
149 | 10010101 | 225 | 95 | ||
150 | 10010110 | 226 | 96 | ||
151 | 10010111 | 227 | 97 | ||
152 | 10011000 | 230 | 98 | ||
153 | 10011001 | 231 | 99 | ||
154 | 10011010 | 232 | 9a | ||
155 | 10011011 | 233 | 9b | ||
156 | 10011100 | 234 | 9c | ||
157 | 10011101 | 235 | 9d | ||
158 | 10011110 | 236 | 9e | ||
159 | 10011111 | 237 | 9f | ||
160 | 10100000 | 240 | a0 | ||
161 | 10100001 | 241 | a1 | 。 | 半角カナ |
162 | 10100010 | 242 | a2 | 「 | 半角カナ |
163 | 10100011 | 243 | a3 | 」 | 半角カナ |
164 | 10100100 | 244 | a4 | 、 | 半角カナ |
165 | 10100101 | 245 | a5 | ・ | 半角カナ |
166 | 10100110 | 246 | a6 | ヲ | 半角カナ |
167 | 10100111 | 247 | a7 | ァ | 半角カナ |
168 | 10101000 | 250 | a8 | ィ | 半角カナ |
169 | 10101001 | 251 | a9 | ゥ | 半角カナ |
170 | 10101010 | 252 | aa | ェ | 半角カナ |
171 | 10101011 | 253 | ab | ォ | 半角カナ |
172 | 10101100 | 254 | ac | ャ | 半角カナ |
173 | 10101101 | 255 | ad | ュ | 半角カナ |
174 | 10101110 | 256 | ae | ョ | 半角カナ |
175 | 10101111 | 257 | af | ッ | 半角カナ |
176 | 10110000 | 260 | b0 | ー | 半角カナ |
177 | 10110001 | 261 | b1 | ア | 半角カナ |
178 | 10110010 | 262 | b2 | イ | 半角カナ |
179 | 10110011 | 263 | b3 | ウ | 半角カナ |
180 | 10110100 | 264 | b4 | エ | 半角カナ |
181 | 10110101 | 265 | b5 | オ | 半角カナ |
182 | 10110110 | 266 | b6 | カ | 半角カナ |
183 | 10110111 | 267 | b7 | キ | 半角カナ |
184 | 10111000 | 270 | b8 | ク | 半角カナ |
185 | 10111001 | 271 | b9 | ケ | 半角カナ |
186 | 10111010 | 272 | ba | コ | 半角カナ |
187 | 10111011 | 273 | bb | サ | 半角カナ |
188 | 10111100 | 274 | bc | シ | 半角カナ |
189 | 10111101 | 275 | bd | ス | 半角カナ |
190 | 10111110 | 276 | be | セ | 半角カナ |
191 | 10111111 | 277 | bf | ソ | 半角カナ |
192 | 11000000 | 300 | c0 | タ | 半角カナ |
193 | 11000001 | 301 | c1 | チ | 半角カナ |
194 | 11000010 | 302 | c2 | ツ | 半角カナ |
195 | 11000011 | 303 | c3 | テ | 半角カナ |
196 | 11000100 | 304 | c4 | ト | 半角カナ |
197 | 11000101 | 305 | c5 | ナ | 半角カナ |
198 | 11000110 | 306 | c6 | ニ | 半角カナ |
199 | 11000111 | 307 | c7 | ヌ | 半角カナ |
200 | 11001000 | 310 | c8 | ネ | 半角カナ |
201 | 11001001 | 311 | c9 | ノ | 半角カナ |
202 | 11001010 | 312 | ca | ハ | 半角カナ |
203 | 11001011 | 313 | cb | ヒ | 半角カナ |
204 | 11001100 | 314 | cc | フ | 半角カナ |
205 | 11001101 | 315 | cd | ヘ | 半角カナ |
206 | 11001110 | 316 | ce | ホ | 半角カナ |
207 | 11001111 | 317 | cf | マ | 半角カナ |
208 | 11010000 | 320 | d0 | ミ | 半角カナ |
209 | 11010001 | 321 | d1 | ム | 半角カナ |
210 | 11010010 | 322 | d2 | メ | 半角カナ |
211 | 11010011 | 323 | d3 | モ | 半角カナ |
212 | 11010100 | 324 | d4 | ヤ | 半角カナ |
213 | 11010101 | 325 | d5 | ユ | 半角カナ |
214 | 11010110 | 326 | d6 | ヨ | 半角カナ |
215 | 11010111 | 327 | d7 | ラ | 半角カナ |
216 | 11011000 | 330 | d8 | リ | 半角カナ |
217 | 11011001 | 331 | d9 | ル | 半角カナ |
218 | 11011010 | 332 | da | レ | 半角カナ |
219 | 11011011 | 333 | db | ロ | 半角カナ |
220 | 11011100 | 334 | dc | ワ | 半角カナ |
221 | 11011101 | 335 | dd | ン | 半角カナ |
222 | 11011110 | 336 | de | ゙ | 半角カナ |
223 | 11011111 | 337 | df | ゚ | |
224 | 11100000 | 340 | e0 | ||
225 | 11100001 | 341 | e1 | ||
226 | 11100010 | 342 | e2 | ||
227 | 11100011 | 343 | e3 | ||
228 | 11100100 | 344 | e4 | ||
229 | 11100101 | 345 | e5 | ||
230 | 11100110 | 346 | e6 | ||
231 | 11100111 | 347 | e7 | ||
232 | 11101000 | 350 | e8 | ||
233 | 11101001 | 351 | e9 | ||
234 | 11101010 | 352 | ea | ||
235 | 11101011 | 353 | eb | ||
236 | 11101100 | 354 | ec | ||
237 | 11101101 | 355 | ed | ||
238 | 11101110 | 356 | ee | ||
239 | 11101111 | 357 | ef | ||
240 | 11110000 | 360 | f0 | ||
241 | 11110001 | 361 | f1 | ||
242 | 11110010 | 362 | f2 | ||
243 | 11110011 | 363 | f3 | ||
244 | 11110100 | 364 | f4 | ||
245 | 11110101 | 365 | f5 | ||
246 | 11110110 | 366 | f6 | ||
247 | 11110111 | 367 | f7 | ||
248 | 11111000 | 370 | f8 | ||
249 | 11111001 | 371 | f9 | ||
250 | 11111010 | 372 | fa | ||
251 | 11111011 | 373 | fb | ||
252 | 11111100 | 374 | fc | ||
253 | 11111101 | 375 | fd | ||
254 | 11111110 | 376 | fe | ||
255 | 11111111 | 377 | ff |
制御コードは、通信、プリンター、画面制御などに使用されます。
通信は、RS232C、RS422、RS485で通信手順ベーシック、HDLC、BSCなどでSTX,ETX,ENQ,EOT,ACK,NAK,SYNが使われていました。
制御コード使用例
プリンター、画面では、ESCが使用され、プリンターなどESC/Pという制御があります。画面では、DOS画面、SSHなどのターミナルでも使用されています。
ドットプリンター..なつかし・・ESC @で初期化して・・用紙コマンド送って、、フィートして・・・windowsは、ドライバーがやってくれるから・・・
プログラムで変数に型があるやつとか
C言語など、数値タイプ、文字タイプがあるプログラミング言語では、重要かと・・
コンピュータでは、2進数ですべて、扱いされます。人間が分かりやすいように16進数表記が使用されます。
10101111とか1と0ばかりでは、わかりずらいですよね。
アセンブラでは、実際のコマンドは2進数ですが、それに合わせたニーモニックで表現されます。アセンブラのコマンドとか・・
上部表の下記はビットの並びになります。
16進数では上部 下部 4bit毎で管理すると便利です。
b8 b7 b6 b5 b4 b3 b2 b1
2進数から16進に変換するには
b8 b7 b6 b5 b4 b3 b2 b1
8 4 2 1 8 4 2 1
1248を右から4bit毎に並べて,ビットが立っている(1)の部分を足し算して1-9まではそのまま、10-15までをA-Fに置き換えることで16進化できますよ。。しってるって?
b8 b7 b6 b5 b4 b3 b2 b1
0 1 0 1 0 1 1 0
8 4 2 1 8 4 2 1
上記の場合、0x56でVという文字・・・
Vという文字は、10進数だと、86になります。
数値タイプだと86で
文字タイプだとVという表現になります。
C言語などでは、
65 + 1
'A' + 1
0x41 + 1
で文字タイプであれば、B、数値タイプであれば66
下記のように、大文字英字を小文字に置き換えします。
char i,j;
for(i=65;i < 91;i++) {
j = i + 32;
printf("%c",j);
}
下記のようにすれば。1-255までの文字コードを表示できます。
制御コードの部分はボケますよ・・・for(i=33;i < 127;i++)とかにするとかね。
char i;
for(i=1;i < 255;i++) {
printf("%c",i);
}
下記のように表示部を変更すると10進、8進 16進、文字で表示できます。
printf( "%d:%o:%x:%c\n", i, i, i, i);
上記で、コンピュータ内部では同じ値で、言語の型によって分ける意味がすこしわかるかも・・ね。
あと、コンピュータへの記憶の決まりであって、画面に表示したり、キーボードで入力したりをこのコードを使用するという意味です。
画面に表示する場合は、9という文字であれば、2進数の00111001で記憶され、これをコードとして扱い。このコードとマッチしたフォントがあり、そのフォントイメージが画面に表示されます。
フォントのイメージ(実際とはことなりますよ。w)
このイメージを00111001を割付がされていて画面に表示することができます。
イメージとして画面ドットが1が立っている部分表示される感じです。。
0000000000000000
0001111111100000
0011110000111000
0011100000011100
0011100000011100
0011100000011100
0011100000011100
0001100000011100
0000110000111100
0000001111011100
0000000000011100
0000000000011100
0011100000011100
0011110000111000
0000111111100000
0000000000000000
まぁ。今時のアウトラインのフォントとかどうなってるか・・知りません・・w
ダンププログラム
文字コード把握するには・・ダンププログラムかと・・
久しぶりにCで書いた・・動くかなぁ・・あとPerlと同じようにつくってみたので・・
C言語で書いたダンプ
#include <stdio.h>
#include <string.h>
void main(int argc, char *argv[])
{
char *filename;
FILE *fp;
int pos = 0;
int chr;
char col1[256], col2[256];
char wk[50];
char one[2];
memset(&col1 , 0x00 , sizeof(col1));
memset(&col2 , 0x00 , sizeof(col2));
filename = argv[1];
fp = fopen(filename,"rb");
while(fread(&chr, 1, 1, fp)) {
if(pos && pos % 16 == 0){
printf("%07X %s %s\n",pos-16,col1, col2);
memset(&col1 , 0x00 , sizeof(col1));
memset(&col2 , 0x00 , sizeof(col2));
}
++pos;
sprintf(wk," %02X", chr);
strcat(col1,wk);
if(chr < 0x20) {
one[0] ='.';
} else {
one[0] = chr;
}
one[1] = 0x00;
strcat(col2,one);
}
if(pos % 16) {
printf("%07X %-48s %s\n",pos-pos%16,col1, col2);
}
fclose(fp);
}
Perlで書いたダンプ
#!/usr/bin/perl
my $filename = $ARGV[0];
print "$filename\n";
my $pos = 0;
my $col1,$col2;
my $chr;
open(IN, $filename);
while(read(IN, $chr, 1)) {
if($pos && $pos % 16 == 0) {
$col1 =~ tr/[a-f]/[A-F]/;
printf "%07X %s %s\n", $pos-16, $col1, $col2;
($col1, $col2) = undef;
}
++$pos;
$col1 .= " " . unpack("H2", $chr);
$col2 .= (unpack("C", $chr) < 0x20) ? "." : $chr;
}
if($pos % 16) {
$col1 =~ tr/[a-f]/[A-F]/;
printf "%07X %-48s %s\n", $pos - $pos % 16, $col1, $col2;
}
close(IN);
さいごに
だいぶ・・話がそれましたが・・・
では・・