改行コード「CR」「LF」「CRLF」の意味と違い
「CR」「LF」「CRLF」はどれも改行を示すコードですが、普段生活していると意識したことないですしどれがどれだかわからないを出来るだけわかりやすく説明
改行コードとは
そもそも改行コードとは「改行を実行してもらうためのコード」です。
誰にやってもらうかと言えばコンピューターさんにです。つまり人間が読みやすくするために「文章の途中などで改行してね」っとお願いするための命令文です。
改行コードを書くことで、コンピューターは「はいはい、ここで改行しますね」っと仕事してくれます。
ちなみに改行コードなどのコンピューターに命令するための文字を「制御文字」って言います。
「CR」「LF」「CRLF」は何が違うの?
コンピューターが改行するためのコードが改行コードと説明しましたが、改行コードが複数ある原因は、そのコンピューターに使用しているOSの違いが原因です。
OSの種類がマックだったりLinuxなどのUNIX系だったりWindowsだったりするため、OSごとに改行コードが異なり、種類が増えてしまいました。
それぞれに対応する改行コードは下記の通り
名称 | 読み | OS | コード |
CR (Carriage Return) |
キャリッジリターン | MacOS 9以前 | \r |
LF (Line Feed) |
ラインフィード | ・MacOS X以降 ・UNIX系 |
\n |
CRLF (Carriage Return + Line Feed) |
キャリッジリターン + ラインフィード | Windows | \r\n |
「CR」の意味
CR(Carriage Return)の意味は、カーソルを先頭に戻しなさい です。
「カーソルを先頭に戻せ」なので、厳密には改行の意味はないのですが、そこは良しなにやってくれるようです。
「LF」の意味
LF(Line Feed)の意味は、次の行に移りなさい です。
「次の行に移りなさい」なので、厳密には次の行の先頭に行くの意味はないのですが、そこは良しなにやってくれるようです。
「CRLF」の意味
CR の意味 + LF の意味 です。
「カーソルを先頭に戻せ、次の行に移りなさい」となるのでイメージ的には一番しっくりきますね。
サクラエディタで改行
CRLF:先頭に行って落ちる
LF :落ちるだけ
CR :先頭に行くだけ
改行の矢印がなんとなくそれっぽく表現されてますね。
コメント