異なる PC 上のファイルに逆の行末文字があるのはなぜですか?

異なる PC 上のファイルに逆の行末文字があるのはなぜですか?

私はこれについてstackoverflowで質問しようとしましたが、ここで指摘されました。

何が起こっているかは以下の通りです:

  1. CRLF 改行を含むファイルを生成します (Ubuntu 18.04 を使用しています)。これは、PhpOffice を使用して PHP スクリプトで生成された .scv ファイルで、改行は "\r\n" として設定されます。明確に言うと、Ubuntu で開く必要はありません。

  2. そのファイルを別のPC(Windows使用)の別の人に送ります。相手はCRLF+CR改行のファイルを受信したと主張します。

  3. 彼らは私たちに別のファイルを送信しましたが、それは(彼らの言うとおり)CRLF を含んでいます。しかし、それを開いたり、エンコードを確認しようとすると、CRLF+CR が含まれています。

これについて議論しても、今のところ何も進展がありません。Ubuntu では LF が改行文字で、Windows では CRLF が改行文字であることは知っています。しかし、なぜ CRLF が CRLFCR に置き換えられるのか (またはその逆) が理解できません。さらに重要なのは、どうすれば解決できるのかということです。このファイルは送信前にテキスト エディターで編集したり、開いたりもしません。

答え1

結局、ファイルを圧縮すると問題が発生したようです。さらに、改行は CRLF+CRLF ではなく CR+CRLF であると勘違いしていました。アーカイブなしで送信したファイルは見事に機能しました。

関連情報