改行コード CR、LF、CRLFの意味と違い
現状、CR、LFと双方を組み合わせたCRLFの3種類が主な改行コード。
OSやアプリなど環境によってどれが使われるか違うので、プログラミングやテキストデータを扱う際にはいろいろ注意が必要だったり。
CRとLFの違い
CRとLFはそれぞれ、復帰と行送りの意味を持つ略語です。
- Carriage Return:キャリッジリターン(行頭復帰)
- LineFeed ラインフィード(行送り)
ざっくり言えばキャリッジリターン(CR)はカーソルが戻るだけ。
ラインフィード(LF)は行を送るだけです。以下違いについて詳しく補足解説。
行頭への復帰を意味するCarriage Return
CR=Carriage Return=キャリッジリターンは行頭への復帰を意味します。
タイプライターでイメージするとわかりやすいですが、キャリッジリターンはただ行末から同じ行の頭へ戻るだけ。
なので、キャリッジリターン後にタイプライターを打ち始めると、すでにある文字の上に印字されてしまいます。
もしPCならこれまで打ち込んだ文章の前に新しい文章を打ち込むことになってしまいます。
行送りを意味するLine Feed
一方、LF=Line Feed=ラインフィードは次の行へ送るだけ。
なので、画像のように10文字目でラインフィードだけして再度打ち始めると、次の行の11文字目の場所から書き始めてしまい、前に10文字分の空白ができてしまいます。
本来はCRLF両方組み合わせてこそ改行、だけど
そういう意味では、行頭に復帰するキャリッジリターンと行を送るラインフィード、両方をやってこそ改行といえます。いわゆるCRLFがそう。
ただ、これはあくまでもCRとLFが本来持っている意味でのお話。
いまどきのPCやスマホなどではCRLFはもちろんのこと、CR単体やLF単体改行として機能します。
採用する文字コードはOSやアプリごとに違いが
改行コード | 主な使用OS |
---|---|
CR | MacOS 9以前 |
LF | MacOS X以降、UbuntuほかLinux系、UNIX |
CRLF | Windows |
CRLFを使っているOSはWindowsぐらい。
Mac OS 9まではCR単体でたし、Mac OS X以降やAndroid、Linux系のOSなどではLFが使用されてします。
あとGoogleスプレッドシートのセル内改行なんかもLF単体。ExcelもLF単体だったような。
唯一、CR単体だったMacもLFに切り替えていますし、あとはWindowsだけLFにしてくれれば統一されていいなぁ、なんて思うんですが……
テキストエディタではアイコンの違いも
ちなみに、改行コードは表示アイコンにも違いがあります。
改行コード | 表示アイコン |
---|---|
CR | ← |
LF | ↓ |
CRLF | ↵ |
上記がエディタでの表示。テキストエディタによっては上記のように表示されます。
キャリッジリターンは行頭に戻るだけだから左矢印だけ。ラインフィードは次行に送るだけだから下矢印だけ。
両方を組み合わせたCRLFは下と左矢印を組み合わせた記号になっています。よく見るEnter記号ですね。
ディスカッション
コメント一覧
まだ、コメントがありません