改行は、プラットフォームに応じて、キャリッジ・リターン(CR)、ライン・フィード(LF)、CRLF、改行(NEL)になります。
改行はプラットフォームが異なると別の文字で表されるだけではなく、同じプラットフォームでも曖昧な動作になります。
特にWebの場合、1台のコンピュータ上のテキストは多くのソースで生成されるため、重大な問題が生じます。
文字セットの変換の際に、多くの場合、これらの文字は一致するUnicodeへ直接変換されます。純粋なUnicodeを扱うプログラムでも問題を考慮しなければなりません。
|
EBCDICシステムでは、LFおよびNELという2つのマッピングが使用されます。
最初のEBCDIC列は、MVSオープン・エディション(CP1047を含む)マッピング、2番目の列はCDRAマッピングです。
ASCIIベースのLinux環境や、Linuxを前提として使用する一部のデータ転送プロトコルでLF文字を改行として扱う場合、この違いが生じます。
2番目の列はLFのASCIIおよびEBCDICの標準定義に基づいています。
NELは実際にASCIIでは定義されていません。C1制御としてISO6429で定義されています。
詳細については、以下を参照してください。