- ベストアンサー
キャリッジリターンとラインフィードの違いは?
キャリッジリターンとラインフィードは似ていますが、どこが違うところはありますでしょうか。また、その特徴的など教えていただけると幸いです。 私の解釈としては「キャリッジリターンとラインフィードとも同じだが、OSによって異なっているため、キャリッジリターン(CR)とラインフィード(LF)を合わせて使うことを推奨する。WindowsはCR+LFで改行できるが、MacはCR、UnixはLFでないと改行されない」ということですが、皆様はどう思いますでしょうか。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
原則的には、CRは左マージン位置に戻ることでLFは1行下に移るこ と。動作が全く違います。 とはいえ、CRする時には十中八九LFもしたい、でないと同じ行に重 ねて印字することになるってんで、CRだけでCR+LFの動作をするシン プルなプリンタやタイプライタも存在しましたし、一度の命令で1行 全部を同時に印字するラインプリンタではCRという概念がなく、LF のみで次の行の印字準備が整っていました。そこらへんの歴史的な 経緯で、シンプルなテキストファイルで改行を示すための機能文字 をどうするかが色々と分離していったんです。 > WindowsはCR+LFで改行できるが、MacはCR、 > UnixはLFでないと改行されない CR+LFにはCRもLFも含まれていますから、改行にCR+LFを使ったテキ ストはMacでもUNIXでも改行されます。行末や行頭に妙なコードが残 るだけ。DOSはCR+LF両方書かないと改行出来ないですね。
その他の回答 (2)
- shimix
- ベストアンサー率54% (865/1590)
#CR(0d)とLF(0a)の違いについては既出なので・・ phpで「改行」を書くときには環境依存したくないので「PHP_EOL」を使います。そのまんま「End of Line」の意味ですが環境によってCRLFだったりLFのみだったりします。
お礼
ご回答ありがとうございました。 参考にさせていただきます。 >phpで「改行」を書くときには環境依存したくないので「PHP_EOL」を使います。 この点が特に参考になりました。
- okg00
- ベストアンサー率39% (1322/3338)
http://ja.wikipedia.org/wiki/%E6%94%B9%E8%A1%8C%E3%82%B3%E3%83%BC%E3%83%89 本来は別物です。 キャリッジリターンはカーソルを行頭に持ってくる(カーソルの行位置はそのままなので、次に書き出すと文字が重なります)。 ラインフィードは新しい行にカーソルを移動させる(カーソルの左右位置はそのままなので、次に書き出すと左が空白のまま途中から書き出す)。 OSによって改行コードが異なっているのは質問の通りですが、UnixベースとなったMacOSXではLFになっているそうです。
お礼
ご回答ありがとうございました。 参考にさせていただきます。 キャリッジリターンとラインフィードは別物でしたね。
お礼
ご回答ありがとうございました。 参考にさせていただきます。 >原則的には、CRは左マージン位置に戻ることでLFは1行下に移るこ と。 この点がとても参考になりました。