0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

改行文字コードについて調べて試してみた

Last updated at Posted at 2022-04-06

はじめに

普段あまり気にしていなかったのですが、改行文字コードっていくつか種類があってどれ使うんだったけ?ってなるので、ここでそれぞれの特徴とWindows・Macで使用したときにどうなるかをまとめてしまいたいと思います。

目次

1. ラインフィード(LF)
2. キャリッジリターン + ラインフィード(CRLF)
3. キャリッジリターン(CR)
4. まとめ

1. ラインフィード(LF)

  • UNIX系のOS(Linuxや最近のMacOSなど)で採用されている改行コード
  • カーソルよ次の行に移れ!と命令する
  • コードは「\n」

実際にJavascriptファイルをnodeで動かして試してみました。コードは以下のようにかなりシンプル。結果はコマンドプロンプトとターミナルで確認します。

test.js
console.log('abcde\nfg');

結果は以下の通り。
Windows10 ↓
image.png
MacOS Big Sur(11.5.2) ↓
スクリーンショット 2022-04-06 13.21.41.png

Windowsでも改行されていますね、、、。なぜかはちょっとわからないです。。。

2. キャリッジリターン + ラインフィード(CRLF)

  • Windowsで採用されている改行コード
  • コードは「\r\n」

以下のコードで検証します。

test.js
console.log('abcde\r\nfg');

結果は以下の通り。
Windows10 ↓
image.png
MacOS Big Sur(11.5.2) ↓
スクリーンショット 2022-04-06 13.22.18.png

これもMacで改行できてるんですよねー。

3. キャリッジリターン(CR)

  • 昔のMacOS(McOS9まで)で採用されていた改行コード
  • カーソルよ先頭に移れ!と命令するものであり、実際には改行コードではない
  • 改行も同時に行ってくれる場合がある(行わない場合もあるので基本的には使わない方がいいかも)
  • コードは「\r」

以下のコードで検証します。

test.js
console.log('abcde\rfg');

結果は以下の通り。
Windows10 ↓
image.png
MacOS Big Sur(11.5.2) ↓
スクリーンショット 2022-04-06 13.23.53.png

先頭から文字が上書きされていますね。改行はされていません。

4. まとめ

検証のやり方がまずかったのか、OSによって改行コードを変えなくても改行ができてしまいました、、、。もしかしたら〇〇の場合だと改行されないっていう状況があったりするかもしれないので、
Windows: CRLF
それ以外: LF
とするのが安全だとは思います。

追記

プログラムライブラリによっては \n と書くだけでOSに合った改行コードに変換してくれるらしいです。
なのであまりOSによって改行コードを変えるというのは意識しなくてもいいのかもしれませんね。

0
0
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?