web-dev-qa-db-ja.com

Unicode文字2028(LS /行区切り文字)は何に使用されますか?

改行の問題は誰かがある程度解決しなければならないと思っていましたが、広く採用されていないのかもしれません。前向きに考えて、行を分離するためのプラットフォームに依存しないユニコード方式があるかどうかを調べに行きました。私の検索で、Unicode文字2028を見つけました。次に、Jeff Atwoods このトピックに関する投稿 で、彼は「...どのような状況でこれらのUnicode改行マーカーが必要かわからない」と述べています。

まあ、私も。 C#ソースコードを少し掘り下げましたが、LS(x2028)はTextReader.ReadLine()でサポートされておらず、JavaのBufferedReader.ReadLine()でもサポートされていないようです。したがって、私の結論は、それは広くサポートされていないということです。

Linux、MacOS、Windowsで単一のフォーマットを使用してファイルを書き込める明るい未来が欲しいです。この小さなキャラクターには約束がありますか?現在何に使用されていますか?

35
Elijah

同じページの McDowell のコメントからニックネームを付け、 nicodeドキュメント から間接的にニックネームを付けました:

従来、NLFは行区切り文字(場合によってはレコード区切り文字)として始まりました。プログラムエディタなどの単純なテキストエディタでは、今でも行区切り文字として使用されています。プラットフォームとプログラムが自動行折り返しを使用してワードプロセッシングを処理し始めると、これらの文字は段落区切り文字を表すように再解釈されました。たとえば、Windowsのメモ帳プログラムやMac SimpleTextプログラムなどの単純なプログラムでさえ、プラットフォームのNLFを行区切り文字ではなく段落区切り記号として解釈します。

このコンテキストでのNLF(改行関数)は、CR、LFおよびCRLF)の省略形です。対照的に、2つのUnicode文字には明確な使用法があります。

10
MSalters

nicode改行ガイドライン によると、U + 2029段落区切り文字(PS)は、段落を区切る意図を明確に示しています。 U + 2028ラインセパレータ(LS)は、ラインに対しても同様です。他の改行関数文字であるLF、CR、CR + LF、およびNELはあいまいであり、その意味はプラットフォームとアプリケーションによって異なります。

たとえば、a LFは、ワードプロセッシングアプリケーションでは段落を区切ることができますが、単純なテキストエディタでは行のみです。対照的に、PSは、アプリケーションの種類に関係なく、常に段落を区切ります。

1
Edward Brey