思い出せない。それでは、旧式のASCII行を適切に終了する正しい方法は何ですか?
思い出せない。それでは、旧式のASCII行を適切に終了する正しい方法は何ですか?
回答:
「r etur n」という言葉を覚えておきます。rはnの前に来ます。
\n\r
し、\r\n
同じである、彼らは同じ効果をしないのですか?違いがわかりますか?
C#を使用している場合はEnvironment.NewLine
、MSDNに応じてを使用する必要があります。
非UNIXプラットフォームの場合は「\ r \ n」を含む文字列、UNIXプラットフォームの場合は「\ n」を含む文字列。
Environment.NewLine
。ただし、明確に定義された形式で記述している場合は、形式によって改行も定義される場合があります。たとえば、HTTPプロトコルでは、プラットフォームに関係なく、ヘッダーなどの行終端記号として使用する必要があると記載さ\r\n
れています。
新しい行はOSによって異なります。
DOS & Windows: \r\n 0D0A (hex), 13,10 (decimal)
Unix & Mac OS X: \n, 0A, 10
Macintosh (OS 9): \r, 0D, 13
詳細はこちら:https : //ccrma.stanford.edu/~craig/utility/flip/
疑問がある場合は、フリーウェアの16進ビューア/エディタを使用して、ファイルが新しい行をどのようにエンコードするかを確認してください。
私にとっては、私は私が覚えているヘルプに次のガイドを使用します0D0A = \ rを\ nはCR、LF = CA RR iage R ETURN、李n個の電子フィード
0D0A
心で、まだ混乱\r
して\n
。
シーケンスはCR(キャリッジリターン)-LF(ラインフィード)です。ドットマトリックスプリンターを覚えていますか?丁度。したがって、正しい順序は\ r \ n
これを手動で行う場合は注意してください。
実際、私はこれをまったく行わないことをお勧めします。
実際には、プラットフォーム固有の回線終端シーケンスLTSについて話している。
ファイルをテキストモード(つまり、バイナリではない)で開くと、ストリームは "\ n"をプラットフォームに適したLTSに変換します。次に、ファイルを読み取るときにLTSを「\ n」に変換します。
その結果、「\ r \ n」をWindowsファイルに出力すると、物理ファイルに「\ r \ r \ n」というシーケンスが表示されます(16進エディタで確認してください)。
もちろん、プラットフォーム間でファイルを転送する場合、これは本当に大変です。
これで、ネットワークストリームに書き込む場合は、手動でこれを行います(ほとんどのネットワークプロトコルがこれを具体的に呼び出しているため)。しかし、ストリームが解釈を行わないようにします(バイナリモードが適切でした)。
\r\n
Windowsでは問題なく動作します。
\n
は、最新バージョンのメモ帳を含め、Windowsでも問題なく機能します。
\r\n
それは私が使ったタイプライターの反対なのでそれを覚えていると言うのは奇妙です。
まあそれが正常だったら、覚える必要はなかった...:-)
タイプライターでは、改行を完了するときにキャリッジリターンレバーを使用します。その前に、ドラムを回転させる前に改行し、その後、キャリッジリターンを手動で操作できるようにします。
freesound.orgのこのレコードから、最初の紙送りの音を聞くことができます。また、ドラムのラインサウンドの終わりのベルの警告の後、終わりから-1:03秒あたりで、その後に聞こえます。キャリッジリターンの1つ。