manコマンドによる「ASCII ⇔ 8進数、10進数、16進数の変換表」
ASCII<->N進数への変換は、Terminalで確認可能
ASCIIコードは、10進数(8進数、16進数)から英数字・記号に変換するための文字コードです。正確には、文字コードとは以下の定義のように、2進数との変換を指します。
ASCIIは、7桁の2進数で表すことのできる整数の数値のそれぞれに、大小のラテン文字や数字、英文でよく使われる約物などを割り当てた文字コードである。
組み込み開発では、ライブラリの制約(サイズ、ライセンスによる制約)によって、稀にASCIIコード変換ライブラリを自作する事があります。その際に、基本的にはネットでASCIIコード変換表を検索しますが、manコマンド(Terminal)でも確認することができます。
本記事では、manコマンドによるASCII変換表のインストール方法、表示方法を紹介します。
ASCII変換表のMAN Pageをインストール
ASCII変換表のMAN Pageは、Linux man-pages projectが作成しています。このプロジェクトは、Linux KernelとCライブラリ(≒glibc)とのインターフェースを説明する事を主な目的としており、様々なMan Pageを提供しています。ASCIIとKernelはあまり関係がありませんが、このプロジェクトがASCIIコード変換表のMan pageを提供しています。
ASCIIコード変換表のMAN Pageは、Debianであれば以下の手順でインストールできます。デフォルトでインストールされている可能性もあります。
1 2 3 4 |
$ sudo apt update $ sudo apt upgrade $ sudo apt install manpages-ja manpages (注釈):*-jaは日本語版、manpagesは英語版 |
manコマンドによるASCII変換表の表示手順
Terminal上で”man ascii”と入力すれば、ASCIIコード変換表が表示されます。
1 |
$ man ascii |
日本語版の表示内容は、以下の通りです。英語版の表示内容は、オンラインmanページのリンクを貼っておきます。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 |
ASCII(7) Linux Programmer's Manual ASCII(7) 名前 ascii - ASCII 文字集合の 8 進数、10 進数、16 進数による符号化 説明 ASCII は、情報交換用米国標準コード (American Standard Code for Information Interchange) の略 で、7 ビットのコードである。 (ISO 8859-1 のような) 多くの 8 ビットのコードでは下半分に ASCII を含んでいる。ASCII は国際的な規格では ISO 646-IRV として知られている。 以下の表は 128 文字の ASCII 文字をまとめたものである。 C プログラムでの '\X' エスケープも注記してある。 Oct Dec Hex Char Oct Dec Hex Char ──────────────────────────────────────────────────────────────────────── 000 0 00 NUL '\0' (ヌル文字) 100 64 40 @ 001 1 01 SOH (ヘッダー開始) 101 65 41 A 002 2 02 STX (テキスト開始) 102 66 42 B 003 3 03 ETX (テキスト終了) 103 67 43 C 004 4 04 EOT (転送終了) 104 68 44 D 005 5 05 ENQ (問い合わせ) 105 69 45 E 006 6 06 ACK (肯定応答) 106 70 46 F 007 7 07 BEL '\a' (ベル) 107 71 47 G 010 8 08 BS '\b' (バックスペース) 110 72 48 H 011 9 09 HT '\t' (水平タブ) 111 73 49 I 012 10 0A LF '\n' (改行) 112 74 4A J 013 11 0B VT '\v' (垂直タブ) 113 75 4B K 014 12 0C FF '\f' (改ページ) 114 76 4C L 015 13 0D CR '\r' (復帰) 115 77 4D M 016 14 0E SO (シフトアウト) 116 78 4E N 017 15 0F SI (シフトイン) 117 79 4F O 020 16 10 DLE (伝送制御拡張) 120 80 50 P 021 17 11 DC1 (装置制御1) 121 81 51 Q 022 18 12 DC2 (装置制御2) 122 82 52 R 023 19 13 DC3 (装置制御3) 123 83 53 S 024 20 14 DC4 (装置制御4) 124 84 54 T 025 21 15 NAK (否定応答) 125 85 55 U 026 22 16 SYN (同期) 126 86 56 V 027 23 17 ETB (転送ブロック終了) 127 87 57 W 030 24 18 CAN (キャンセル) 130 88 58 X 031 25 19 EM (メディア終了) 131 89 59 Y 032 26 1A SUB (置換) 132 90 5A Z 033 27 1B ESC (エスケープ) 133 91 5B [ 034 28 1C FS (ファイル区切り) 134 92 5C \ '\\' 035 29 1D GS (グループ区切り) 135 93 5D ] 036 30 1E RS (レコード区切り) 136 94 5E ^ 037 31 1F US (ユニット区切り) 137 95 5F _ 040 32 20 SPACE 140 96 60 ` 041 33 21 ! 141 97 61 a 042 34 22 " 142 98 62 b 043 35 23 # 143 99 63 c 044 36 24 $ 144 100 64 d 045 37 25 % 145 101 65 e 046 38 26 & 146 102 66 f 047 39 27 ' 147 103 67 g 050 40 28 ( 150 104 68 h 051 41 29 ) 151 105 69 i 052 42 2A * 152 106 6A j 053 43 2B + 153 107 6B k 054 44 2C , 154 108 6C l 055 45 2D - 155 109 6D m 056 46 2E . 156 110 6E n 057 47 2F / 157 111 6F o 060 48 30 0 160 112 70 p 061 49 31 1 161 113 71 q 062 50 32 2 162 114 72 r 063 51 33 3 163 115 73 s 064 52 34 4 164 116 74 t 065 53 35 5 165 117 75 u 066 54 36 6 166 118 76 v 067 55 37 7 167 119 77 w 070 56 38 8 170 120 78 x 071 57 39 9 171 121 79 y 072 58 3A : 172 122 7A z 073 59 3B ; 173 123 7B { 074 60 3C < 174 124 7C | 075 61 3D = 175 125 7D } 076 62 3E > 176 126 7E ~ 077 63 3F ? 177 127 7F DEL 表 便利なので、16進形式と10進形式の簡潔な表を載せておく。 2 3 4 5 6 7 30 40 50 60 70 80 90 100 110 120 ------------- --------------------------------- 0: 0 @ P ` p 0: ( 2 < F P Z d n x 1: ! 1 A Q a q 1: ) 3 = G Q [ e o y 2: " 2 B R b r 2: * 4 > H R \ f p z 3: # 3 C S c s 3: ! + 5 ? I S ] g q { 4: $ 4 D T d t 4: " , 6 @ J T ^ h r | 5: % 5 E U e u 5: # - 7 A K U _ i s } 6: & 6 F V f v 6: $ . 8 B L V ` j t ~ 7: ' 7 G W g w 7: % / 9 C M W a k u DEL 8: ( 8 H X h x 8: & 0 : D N X b l v 9: ) 9 I Y i y 9: ' 1 ; E O Y c m w A: * : J Z j z B: + ; K [ k { C: , < L \ l | D: - = M ] m } E: . > N ^ n ~ F: / ? O _ o DEL 備考 歴史 ascii のマニュアルは AT&T UNIX Version 7 で登場した。 古い端末では、アンダースコアがバックアロー (backarrow) と呼ばれる 左向きの矢印で表示され る、またキャレットが上向きの矢印で表示され、 縦棒 (vertcal bar) では真ん中に穴がある。 大文字 (uppercase) と小文字 (lowercase) は 1 ビットだけ異なっている。 ASCII の文字 2 はダブ ルクォートとは 1 ビットだけ異なっている。 これによって機械式キーボードやマイコン制御でない電 子キーボードで キーコード化することが簡単になる。また、古いテレタイプでもこの 組み合わせが使 用されていた。(訳注: JIS キー配列もその一種) ASCII 規格は米国規格協会 (USASI : United States of America Standards Institute) によって 1968年に発行された。 関連項目 charsets(7), iso_8859-1(7), iso_8859-10(7), iso_8859-11(7), iso_8859-13(7), iso_8859-14(7), iso_8859-15(7), iso_8859-16(7), iso_8859-2(7), iso_8859-3(7), iso_8859-4(7), iso_8859-5(7), iso_8859-6(7), iso_8859-7(7), iso_8859-8(7), iso_8859-9(7), utf-8(7) この文書について この man ページは Linux man-pages プロジェクトのリリース 3.79 の一部 である。プロジェクトの 説明とバグ報告に関する情報は http://www.kernel.org/doc/man-pages/ に書かれている。 Linux 2014-10-02 ASCII(7) |
ロシア人と国際結婚した地方エンジニア。
小学〜大学院、就職の全てが新潟。
大学の専攻は福祉工学だったのに、エンジニアとして就職。新卒入社した会社ではOS開発や半導体露光装置ソフトを開発。現在はサーバーサイドエンジニアとして修行中。HR/HM(メタル)とロシア妻が好き。サイトに関するお問い合わせやTwitterフォローは、お気軽にどうぞ。