本文へ移動

キャリッジ・リターン(CR): 行頭に戻る制御文字

キャリッジ・リターン(CR)は、印字位置やカーソルを行頭へ戻す制御文字です。テキストエンコーディング、旧式機器、現代の改行規約で使われます。

概要

キャリッジ・リターンは、一般にCRと略され、多くのプログラミング文脈では'\r'で表される制御文字である。印字機構やカーソルを現在行の先頭へ戻す働きを持つ。文字エンコーディングでは定義されたコードポイントを占め、ほかの制御文字と組み合わせて改行を示すことも多い。関連する概念として改行がある。

画像ギャラリー

1 画像

特徴

ASCIIではキャリッジ・リターンは10進数で13に割り当てられ、UnicodeではU+000Dとして現れる。もともとの物理的な役割はタイプライターやプリンターに由来し、紙を保持するキャリッジを次の行の前に左端へ戻す必要があった。コンピュータでは、CRはその論理的な対応物として、次の行へ進まずにカーソルを列0へ戻す。

歴史と由来

この名称と動作は機械式装置に由来する。タイプライターのキャリッジや初期のプリンターの印字ヘッドを、次の行を打つ前に先頭へ戻す必要があったのである。テレタイプやテレプリンターは、この動作のために電気的または機械的な信号を実装した。電子的な文書処理が発達しても、旧来の機器や慣習との互換性を保つため、制御文字は文字集合や通信プロトコルに残された。

用途と例

システムによって、CRは他の文字と組み合わせて行末を示す。一般的な慣習は次のとおりである。

  • Windowsや多くのネットワークプロトコルでは、CR+LF(キャリッジ・リターンの後にラインフィード)を用いる。
  • Unix系システムでは通常、行末にLF(ラインフィード)だけを使う。
  • 従来のMac OSでは歴史的にCRのみを使用していたが、現代のmacOSは他のUnix系システムと同様にLFを使う。

プログラマは、テキストファイルの解析、ネットワークプロトコルの処理、端末出力の作成などで'\r'にしばしば出会う。実用的な方法として、後続のラインフィードを付けずにキャリッジ・リターンだけを出力すると、カーソルを戻して現在の行を上書きできる。これはコマンドラインツールで進捗表示を更新する際によく使われる。

重要な区別

CRとLFはいずれも行の処理に関係する制御文字だが、役割は異なる。CRは水平方向の位置をリセットし、LFは垂直方向に進める。これらを組み合わせるか、別々に使うかによって、プラットフォーム間で相互運用上の問題が生じることがあり、テキストファイルを移動したりシステム間で通信したりする際には注意が必要である。CRの由来と動作を理解すると、旧来の形式と現在のテキスト処理の慣行を説明しやすくなる。

関連項目

著者

AlegsaOnline.com キャリッジ・リターン(CR): 行頭に戻る制御文字

URL: https://ja.alegsaonline.com/art/17244

共有