キャリッジ・リターン

キャリッジ・リターン（carriage return）は本来、テレタイプ端末の Baudot Code における制御文字を指す用語で、行末から行頭に戻す復帰コードであって、改行コードを含まない。その後、タイプライターで一行打ち込んだ後で紙を固定するシリンダー（キャリッジ）を次の行の先頭にタイプできるように戻し（リターン）改行する機構（またはその機構を操作するレバー）を「キャリッジ・リターン」と呼んだ。キャリッジ・リターンが電動で力を入れずに操作できるようになったのは、1960年代のスミス・コロナ製電動タイプライターが最初である。電動タイプライターでその操作を行うキーには "carriage return" または "return" と刻印されていた。英語圏以外にも通用するよう 「」 というシンボル（リターン記号）がそのキーに刻印されるようになっていき、文字を使わずにそのキー操作を表すときにこの記号が使われるようになっていった。

 コンピュータでの意味 
コンピューティングでは、キャリッジ・リターン (CR) はASCII、Unicode、EBCDICにおける制御文字の一種で、プリンターまたは何らかの表示装置にカーソルを同一行の先頭位置に移動させる意味を持つ。ほとんどの場合、カーソルを次の行の同じ桁位置に移動させる改行コードと組み合わせて使われ、2つを合わせて「改行」操作を表す。用語は上述のようにテレタイプ端末やタイプライターに由来する。これは初期のプリンターがタイプライターとよく似ていて、タイプライターと同じようにキャリッジ・リターン機構があって、それをこの制御文字で操作していたためである。

グラフィックスを表示できないプリンター、テレタイプ端末、コンピュータ端末では、改行コードを伴わないキャリッジ・リターンを使って文字を重ね打ちでき、そうすることで擬似的なグラフィックスを実現したり、アンダーラインを文字に付与したり、文字を抹消したりといったことを実現していた。

コンピュータプログラムでは、キャリッジ・リターン文字が単独または改行文字と共に行末を示すコードとして使われるが、同じ機能を別の文字で表すこともある（改行コード参照）。ワープロソフトなどでは、「改行」と「強制改行」を区別しており、「改行」は段落の区切り、「強制改行」は段落内の強制的な改行で、キャリッジ・リターンだけでは前者の機能になる。HTMLなどでは、改行や段落切り替えに独自の表現を採用しており、復帰コードや改行コードは空白文字として扱われる。

ASCIIおよびUnicodeでは、キャリッジ・リターン（復帰コード）の10進文字コードは 13（16進では 0D）である。C言語やC言語に影響を受けた多くの言語では、\r で復帰コードを表すEric S. Roberts. The Art and Science of C. Addison-Wesley, 1995. p311.。

 ユーザインタフェース機能 

Windows、Macおよび他の多くのGUIオペレーティングシステムでは、リターンキーを押下するとダイアログボックスのデフォルトオプション（通常、OK や Yes）を選択したことになる。

macOS ではリターンキーとエンターキーに違いがあるが、Microsoft Windows では違いがない。現在では区別なく使われているが、キーボード上にリターンキーとエンターキーがある場合、実際には異なるスキャンコードを送っているので、プログラムによって異なる用途に使うこともできる。

 まとめ 
 一般に「キャリッジ・リターン」文字を生成するキー
 「エンター」キー (Enter)
 「リターン」キー (Return)
  キー
 Ctrl-M 
 ASCIIおよびUnicodeでの「キャリッジ・リターン」
 10進コード: 13
 16進コード: 0D
 シンボル: CR
 プログラミング言語でのエスケープコードと「キャリッジ・リターン」を生成する関数
 PHP, Python, Bash, C/C++, C#, Java, JavaScript, Perl, Ruby: \r
 Visual Basic (VB), VBA, VB.NET: vbCr または Chr$(13)
 CFML: Chr(13)
 XML (HTML, XSLT): &#x0D;
 Microsoft Office での「キャリッジ・リターン」
 Word: Shift-Enter
 「検索」と「置換」での正規表現: ^p
 「検索」と「置換」での代替表現: ^013
 「検索」と「置換」での「手動復帰」用表現: ^l
 OpenOffice.org での「キャリッジ・リターン」
 Writer での「検索」と「置換」の正規表現: $

 関連項目 
エンターキー
改行コード (\n\r)

 脚注・出典 

Category:制御文字