1.4 文字の内部表現

文字の内部表現も実数表現と同様に機種に依存する. CHGLIB, CHKLIB は, 機種依存する文字処理を規格化するためのパッケージである.

FORTRANでは文法上, 以下のFORTRAN文字集合が定められており, FORTRANプログラムは, これらの文字だけで書かなければならない. (注釈行や文字型データの中は例外)

英字: ABCDEFGHIJKLMNOPQRSTUVWXYZ
数字: 0123456789
特殊文字: 空白'()*+,-./:= 通貨記号

したがって, 小文字でFORTRANプログラムを書くのは厳密に言えば文法違反になる.

これらのFORTRAN文字を含めて, 文字の内部表現方法はFORTRANの規格では特に規定されていない. 実数の内部表現方法と同様に, IBM規格であるEBCDICと, アメリカの標準規格であるASCIIとにわかれる.

このように文字コードは, たとえFORTRAN文字であっても機種に依存する. したがって, 文字コードを返すicharメソッド(元関数)はFORTRANの標準の組み込みメソッド(元関数) であるが, その値は機種に依存することになる. 文字コードの大小を機種に依存せずに比較するためのメソッド(元関数)として, lge, lgt, lle, llt があり, これはその計算機のコード体系によらず, ASCIIコード順に比較する.

EBCDIC コード表
  0 1 2 3 4 5 6 7 8 9 A B C D E F
0 NUL DLE     SP & -           { } $ 0
1 SOH DC1         /   a j ~   A J   1
2 STX DC2 FS SYN         b k s   B K S 2
3 ETX DC3             c l t   C L T 3
4                 d m u   D M U 4
5 HT   LF           e n v   E N V 5
6   BS ETB           f o w   F O W 6
7 DEL   ESC EOT         g p x   G P X 7
8   CAN             h q y   H Q Y 8
9   EM             i r z   I R Z 9
A         :                
B VT       .   , #                
C FF     DC4 < * % @                
D CR GS ENQ NAK ( ) _ '                
E SO RS ACK   + ; > =                
F SI US BEL SUB ? "                

ASCII コード表
  0 1 2 3 4 5 6 7
0 NUL DLE SP 0 @ P   p
1 SOH DC1 ! 1 A Q a q
2 STX DC2 " 2 B R b r
3 ETX DC3 # 3 C S c s
4 EOT DC4 $ 4 D T d t
5 ENQ NAK % 5 E U e u
6 ACK SYN & 6 F V f v
7 BEL ETB ' 7 G W g w
8 BS CAN ( 8 H X h x
9 HT EM ) 9 I Y i y
A LF SUB * : J Z j z
B VT ESC + ; K [ k {
C FF FS , < L \ l |
D CR GS - = M ] m }
E SO RS . > N ^ n ~
F SI US / ? O _ o DEL


JIS X0201 では上の表の\が, ~-(上線)となっている.

制御コード表
記号 意味 英語名
nul 空値 null
soh ヘディング開始 start of heading
stx テキスト開始 start of text
etx テキスト終了 end of text
eot 伝送終了 end of transmission
enq 問い合わせ enquiry
ack 肯定応答 acknowledge
bel ベル bell
bs 後退 backspace
ht 水平タブ horizontal tabulation
lf 改行 line feed
vt 垂直タブ horizontal tabulation
ff 改ページ form feed
cr 復帰 carriage return
so シフトアウト shift out
si シフトイン shift in
dle 伝送制御拡張 data link escape
記号 意味 英語名
dc1 装置制御1 device control 1
dc2 装置制御2 device control 2
dc3 装置制御3 device control 3
dc4 装置制御4 device control 4
nak 否定応答 negative acknowledge
syn 同期信号 synchronous idle
etb 伝送ブロック終結 end of transmission block
can 取消 cancel
em 媒体終端 end of medium
sub 置換文字 substitute character
esc 拡張 escape
fs ファイル分離文字 file separator
gs グループ分離文字 group separator
rs レコード分離文字 record separator
us ユニット分離文字 unit separator
sp 空白 space
del 消去 delete



富士通と日立のEBCDICとASCIIの対応
コード 富士通 日立 ASCII
4A c* [ [
4F | ! !
5A ! ] ]
5B  \ \ $
5F ¬ ^ ^
6A   | |
E0 $ $ \