5.1.7 キャリッジ・リターン、ライン・フィード、改行

LANSA Integrator

5.1.7 キャリッジ・リターン、ライン・フィード、改行


改行は、プラットフォームに応じて、キャリッジ・リターン(CR)、ライン・フィード(LF)、CRLF、改行(NEL)になります。

改行はプラットフォームが異なると別の文字で表されるだけではなく、同じプラットフォームでも曖昧な動作になります。

特にWebの場合、1台のコンピュータ上のテキストは多くのソースで生成されるため、重大な問題が生じます。

文字セットの変換の際に、多くの場合、これらの文字は一致するUnicodeへ直接変換されます。純粋なUnicodeを扱うプログラムでも問題を考慮しなければなりません。

 

Unicode

ASCII

EBCDIC 1

EBCDIC 2

CR

000D

0D

0D

0D

LF

000A

0A

25

15

CRLF

000D 000A

0D 0A

0D 25

0D 15

NEL

0085

85

15

25

VT

000B

0B

0B

0B

FF

000C

0C

0C

0C

LS

2028

n/a

n/a

n/a

PS

2029

n/a

n/a

n/a

EBCDICシステムでは、LFおよびNELという2つのマッピングが使用されます。

最初のEBCDIC列は、MVSオープン・エディション(CP1047を含む)マッピング、2番目の列はCDRAマッピングです。

ASCIIベースのLinux環境や、Linuxを前提として使用する一部のデータ転送プロトコルでLF文字を改行として扱う場合、この違いが生じます。

2番目の列はLFのASCIIおよびEBCDICの標準定義に基づいています。

NELは実際にASCIIでは定義されていません。C1制御としてISO6429で定義されています。

詳細については、以下を参照してください。

ww.w3.org/TR/newline

www.unicode.org/unicode/reports/tr13/tr13-5.html