プログラムの行の終わりには、CR とか LF とかいう文字が 実際に書かれているのですか?

口頭で シーアール とか エルエフ などといっている文字のことを、「制御文字」といいます。
CR は Carrige Return <復帰>で、機械式のタイプライタで印字位置を左端にもどすこと、
LF は Line Feed <改行>で、印字位置を次の行に移動させること です。

第4.2節で述べたように、Windowsで使用されるテキストファイルの行末は、CR/LF です。 行末に、二つの文字がある様子を見てみましょう。

上記のようなテキスト・ファイルにどんな文字が並んでいるか表示してみます。

数字は16進表示で、例えば先頭の 30 は、

というビットの列で、数字 「0」を表しています。

最後の行の先頭の 93 および 8C は、

という、ビットの列からなる文字が書かれていて、 2バイトで漢字の「東」を表しています。 空白をあけたり改行をしているのは、見やすくするためで、実際には文字が ベタッとならんでいます。最後の [EOF] はファイルの終りの印で、Windowsの ファイルでは、16進表示で 1A という文字が置かれています。

辛抱強く観察すると、

などがわかります。

Windows上でのファイルはシフトJISという符号系ですが、 インターネット上にメールを発送する際には、通常 ISO-2022-JP というエンコーディングで JISコードに変換されます。 参考までに、上記のテキストが変換された様子を見てみましょう。


Mail to:fujimura-java@hc.cc.keio.ac.jp