\nはLF文字(Line Feed)、\rはCR文字(Carriage Return)と呼ばれる制御文字です。 テキストの改行を表現する方法は、システムによって下記3パターンが存在します。その表現方法が使われている代表的なOSも併記しています。 \n(LF):Unix系OS全般、Mac OS X \r\n(CR+LF):Windows系OS \r(CR):古いMac OS(9以前) コンピュータ上の表現としては\n1文字で扱うのが自然ですが、もともとタイプライター由来で\r\nが利用されていたという歴史的経緯があります。(CRが印字装置を左端に戻す動作+LFが紙を1行分スクロールする動作)