こんにちは、管理人の@Salesforce.Zです。 プログラムを書く時に、あるいは、コードを書く時に、ファイル出力やデータ出力する際に、改行を求める場合がある、その時にどのコードで改行するか、分からん場合あるはず。
今回、改行コードの違いを共有する。
・carriage return
・line feed
★ 改行コード「LF」と「CR」と「CRLF」の違い
目次
改行コード
直接、改行コードの違いにジャンプしても構いません。目的のある意識で、時間を使うのがおすすめだから
しかし、頭に定着するには、由来を知ったほうがいいでしょう
改行コードの由来
調査結果としては下記になる
PCが出る前に「Teletype Model 33」というのがあった、日本語でいうと「印刷電信機」や「印電」などという。
現在のパソコンでは見かけないキーがいくつかあります。
WRU?:Who are you?キー
HERE IS:あらかじめ機械的に記憶してある自局名を送信する.
RUB OUT:紙テープにNULLコードを上書きして鑽孔し,間違った 文字を消します.
REPT:repeatキーです.これを押しながら文字キーを押すと,その文字 が繰り返し入力されます.このキーはApple][にもありました.
出典:https://www.pfu.fujitsu.com/hhkeyboard/kb_collection/asr33.html
この古きキーボードはタイピング時に改行するには0.2秒が必要、そして、この0.2秒に外から受信がある場合、データを失う。1秒では、大体10文字(character)を打てる。0.2秒はおおよそ2文字(character)を打てる。そこで技術者が、行の最後に終わりを意味する2文字(character)、Carriage Return(CR)とLine Feed(LF)を組み込みした。
・Carriage ReturnはTeletype Model 33というタイピング機械にカーソルを一番左にする命令
・Line FeedはTeletype Model 33というタイピング機械に紙を次の行に移動する命令
これが、この改行コードの由来らしい。
後で、パソコンが出て、この概念をそのまま、使われている。
ただ、Teletype Model 33はCRLF全部使っている。パソコンが出たばかりのごろは記憶装置(メモリ)が高額なので、仕組を作る人達が、1つを使えば、いいじゃない、ここで、CRとLFが分岐され始めた。
※片方を使うだけで、かなり節約できるから
各改行コードの違いと使い分け
LF・・・UNIX系。Linux CR・・・MacOS(バージョン9まで) CR+LF・・・Microsoft Windows
のようになってしまった。
改行コードの矢印イメージは下記の感じ
CRLF : ↵ CR : ← LF : ↓
終わりに
ご参考に