中級者向け 知識

【知識】改行コードのCRLF、LF、CR他、各形式とその意味は何?

パソコン・モバイル
この記事は約5分で読めます。

文中の説明画像をクリックすると拡大します。

改行コードのCRLF、LF、CRなどの意味は何?

改行コードとは、改行を実行するためのコードです。

改行コードの種類としては、以下があります。

  • CRLF
  • LF
  • CR
  • HTMLでのBRタグ

それぞれ、対応OSも違います。

CRLF

CRLFは、Carriage Return + Line Feedの略称です。

意味としては、「カーソルを左端に移動し、次の行へ移動する」という、以下のCRとLFの組み合わせです。

コードで書く場合は「\r\n」と記述します。

対応OS:Windows OS

LF

LFは、Line Feedの略称です。

カーソルを次の行へ移動する」という意味です。

コードで書く場合は「\n」と記述します。

対応OS:Linux やUNIX(Mac OS X以降)

PHPって何だっけ?という方はこちらをご覧ください。

【知識】PHPって何?
PHPは、サーバーサイドで動作するプログラミング言語で、動的にページを生成することができます。プログラミング言語にはコンパイル言語とスクリプト言語がありますが、PHPは記述されたソースコードを一行ずつ機械語に翻訳しながら実行するスクリプト言語です。

CR

CRは、Carriage Returnの略称です。

左端へ移動する・同じ行の先頭へ移動する」という意味です。

実際には「次の先頭行」に行くことで間違いではないのですが、あくまで操作としては「カーソルを左端の位置に移動する」ということです。

コードで書く場合は「\r」と記述します。

対応OS:Mac OS 9以前(現在ではあまり一般的でない)

BRタグ

BRは、Breakの略称です。

これは、上記3つの改行コードとは、種類が違います。

HTMLの文書では、表示上改行されていたとしても、コードを読み込んだ際に改行コードとして認識されなかったり、一文字のスペースとして読み込まれたりします。

そのため、HTMLでは改行するためのタグとして<br>というタグが存在します。

HTMLとは何だっけ?という方はこちらをご覧ください。

【基本】HTMLって何?
HTMLは、Webサイトの構造を作るための言語です。Webサイトを構成する要素に役割を与える「目印」のようなものです。Webサイトを構成する要素を「開始タグ」と「終了タグ」で囲むようにしますが、一部「終了タグ」が要らない場合もあります。

HTMLの基本的なタグについては、こちらをご覧ください。

【基本】基本的なHTMLタグ
HTMLの文書は、タグと呼ばれる要素で構成されています。しかし、タグを全部覚える必要はありません。基本的なタグを覚えておけば、あとは辞書をひいたりインターネット上の情報を見ればよいのです。

改行コードの使い分けが必要な場合

  • CRLF
  • LF
  • CR

この3つの改行コードは、それぞれ対応するOSが違うことは前述の通りです。

対応OSと改行コードが違うということは、プログラムを読み込めなくなることを意味します。

例えば、Windowsのテキストエディタ(メモ帳などのような自由にテキストを打ち込めるソフトウェア)でコードを書き、それをCygwin(互換性のあるLinux UNIXのような環境を提供してくれるフリーのソフトウェア)などでプログラムの実行をしても、エラーが出ます。

これは、Windowsのテキストエディタのデフォルト(標準設定)がCRLFであるため、LFに対応するCygwinではCRLFをうまく読み取れないのが原因です。

日本語を話すことのできない人に、日本語で話しかけるようなものです。

相手は、何をいっているのかさっぱりわからないということです。

そのため、Windowsのテキストエディタを保存するときに、改行コードをLFとして保存するとエラーが解決します。

別の例としては、Windowsで作業したテキストエディタをmacユーザーに送って、それを実行してもエラーが起きます(現在は互換性のあるようになっているので、エラーが起きることは少なくなりました)。

ちなみに、テキストエディタの中で有名な「サクラエディタ」は改行コードの表示を出し分けてくれているので、見分けることが簡単です。
CRLF : ↵
CR  : ←
LF  : ↓

例えば、Wordで改行すると、Windowsのソフトウェアなので「↵」が改行する際に現れます。

改行コードによるエラーを防ぐことは可能か?

一番の解決策は、やりとりをする相手、開きなおす前と後で、同じソフトウェアで作業をすることが一番です。

当然、違うOSであってもソフトウェアが同じであれば、改行コードによるエラーは発生しません(可能性が0というわけではありませんが、ほぼ起きないでしょう)。

お互いに、Wordで送る、Google ドキュメントでやりとりする、などを決めておくと便利です。

また、CSVなどの場合は、より詳細に決めておくことが一番です(文字コードは何にするか、改行コードはLFなのかCRLFなのか、など)。

アナログチックな方法ですが、これが一番です。

改行コードの特徴を押さえておくと、プログラムのエラーが出たときに、改行コードとOSの不一致によるエラーではない、ということがわかるので、エラーの発見の時間を短縮できます。

【知識】よく出るエラーコード(HTTPステータスコード)とその意味を教えて!
インターネットでたまに見かける「404 Not Found」のような文字列は、HTTPステータスコードと呼ばれ、インターネット接続において起こりうる何らかの状態や不具合につけられた通し番号のことです。

テキストエディタの例

お勧めのテキストエディタの例としては、以下のページの「テキストエディタの例」にあるものです。

【危険】テーマファイル(ソース)の編集はローカルファイルで行なう!
WordPressのテーマファイルの編集は管理画面で編集するのではなく、オフラインにてテキストエディタで編集して、FTPでアップロードしましょう。管理画面の直接編集でミスしたまま「ファイルを更新」すると、元に戻らない危険を孕んでいます。

その他、Windowsユーザーであれば、サクラエディタがオススメです。

サクラエディタは改行コードが可視化されるため、今使っている改行コードが何か、というのがすぐにわかります。文字コードを含め、コードの変換が簡単にできます。

Macユーザーであれば、標準インストールされている以下のエディタでも十分かと思われます。

  • メモ
  • テキストエディット

メモは非常に人気の高いソフトウェアで、使いやすく、デバイス間でのやりとりもスムーズです。

Macユーザーの場合、注意点として、標準インストールされているエディタでは改行コードの変換ができません。

そのため、OS間で互換性を持たせるためには、Windowsユーザーに送る際にはWindowsユーザー側で変換してもらうか、改行コードの変換が可能なテキストエディタをインストールするして変換する必要があります。

Macで改行コード変換可能なエディターでは、「CotEditor」が有名です。

「CotEditor」について詳しくは、こちらをご覧ください。

CotEditor
Text Editor for macOS

 

まとめ

  • 基本的な改行コードは3つ(CRLF、LF、CR)。
  • それぞれの対応しているOSが違うため、間違えるとエラーが発生する。
  • エラーを防ぐには、相手方がいる場合には、事前に打ち合わせしておくのがよい。
タイトルとURLをコピーしました