Почему на разных компьютерах файлы имеют противоположные ограничители строк?

Почему на разных компьютерах файлы имеют противоположные ограничители строк?

Я пытался спросить об этом на stackoverflow, но меня перенаправили сюда.

Вот что происходит:

  1. Мы генерируем файл, содержащий переносы строк CRLF (я использую Ubuntu 18.04). Это файл .scv, сгенерированный через скрипт php с использованием PhpOffice, переносы строк устанавливаются как "\r\n". Для ясности, его не обязательно открывать в Ubuntu.

  2. Мы отправляем этот файл другому человеку на другой ПК (который использует Windows). Они утверждают, что получают файл с переносами строк CRLF+CR

  3. Они присылают нам другой файл, который (как они говорят) содержит CRLF. Но когда я его открываю или просто пытаюсь увидеть кодировку, он содержит CRLF+CR.

Обсуждение этого пока ни к чему не привело. Я знаю, что LF — это новая строка в Ubuntu, а CRLF — это новая строка в Windows. Но я не понимаю, почему CRLF заменяется CRLFCR (и наоборот). И что еще важнее, как это можно решить? Мы не редактируем этот файл ни в каком текстовом редакторе перед отправкой, мы даже не открываем его.

решение1

В конце концов, похоже, что архивирование файлов вызвало проблемы. Плюс, я ошибся и переносы строк были CR+CRLF, а не CRLF+CR. Файл, отправленный без архива, сработал как по маслу

Связанный контент