1. ホーム
  2. special-characters

[解決済み】 \r と \n の違いは何ですか?

2022-04-03 20:03:48

質問

どのように \r\n が違う?UnixとWindowsとMacの違いに関係すると思うのですが、具体的にどう違うのか、正規表現でどちらを検索・マッチングさせればいいのかがよくわかりません。

どのように解決するのですか?

キャラクターが違う \r はキャリッジリターン、そして \n は改行です。

古いプリンターの場合。 \r はプリントヘッドを行の先頭に送り返し \n 紙を1行分進めた。したがって、どちらも次の行から印刷を開始するために必要なものでした。

もちろん、これはもう関係ないことですが、コンソールによっては、まだ \r を使えば、行頭に移動して既存のテキストを上書きすることができます。

さらに重要なことは、Unixでは \n を行の区切り文字として使用する傾向があり、Windowsでは \r\n をラインセパレータとして使用し、Mac(OS 9まで)は 中古 を使用します。 \r を行の区切り文字として使用します。(Mac OS XはUnix的なので \n 互換性のために \r が代わりに使われますが)。

詳しくは ウィキペディアの改行記事 .

EDIT: これは言語に依存します。C#やJavaでは、例えば \n 常に はUnicode U+000Aを意味し、これは改行と定義されています。CとC++では、プラットフォームによって意味が異なるため、多少泥沼化します。詳しくはコメントをご覧ください。