Інструменти розробника · порівняння тексту
Чому Windows і Unix Disagree на лінії закінчується: CR, LF і CRLF Історія
· Підземелля
Опубліковано ToolAcre · Редакція журналу
текст Лінії програмно-історичний

Закінчення рядків від машинок і телетипів до сучасних операційних систем і пояснює, чому два конвенції все ще співіснують в кожному міжплатформному проекті.
Один невидимий характер, десятки тертя — відкриває з стійким поперечно-платформним дноєм
Лінійні закінчення є невидимими в звичайних редакторах, але можуть мати значення для файлів і протоколів. У ToolAcre, однак, CR, LF і CRLF нормалізуються до порівняння рядків. Пара відрізняється тільки в тих сепараторах виробляє однаковий масив лінії і ідентичний результат.
Ця поведінка вирішує практичне питання цього маршруту під час обмеження того, що він може діагностувати. Порівняти не можна довести, що нова лінія байтів оригінальні файли, що містяться після того, як текст досягає його редакторів. Інструмент для збереження або перевірки протоколу.
Відправка повернення і подача лінії на машинці — пояснюється двома фізичними діями персонажі спочатку описуються
Терміни повернення та подача лінії мають фізичні та історичні значення, але репозиторій не містить джерела машинки. Повторення історії механічного походження з пам'яті порушить звітний договір навіть якщо обліковий запис озвучився добре.
Ця стаття тому лікує CR як ` ` Код одиниці і LF як ` ` тільки де їх використовує. Історичне пояснення необхідно додавати пізніше з початкових стандартів або архівів, а не запозичених з контуру, що явно не є джерелом.
Значення машинки – історичні вимоги, які вимагають зовнішніх джерел
Таким чином, вихідні файли не є конвенціями типу документа або ранні рішення операційної системи. Вони показують лише вибір сумісності з поточним JavaScript: замінити кожен CRLF або lone CR з LF перед розщепленням.
Ця трансформація приймає заданий текст, виготовлений за кількома конвенціями без заповнення виходу з кінцевими змінами. Це імплементація, що відображається в одному регулярному виразі, і прикріплюється тестами для всіх трьох форм.
Телетип і операційно-системна лінійка поза репозиторійними доказами
Він є загальним для зв'язку Unix з LF, Windows з CRLF і старші системи з Lone CR, але нинішній репозиторій не може служити історичним доказом прийняття. Зручна заява: всі три входи стають LF всередині `splitLines`.
Термінал LF не створює остаточний порожній ряд, при цьому порожні лінії в середині залишаються. Ця відмінність - це логічний зміст, що зберігає, навіть якщо фізичні відмінності сепаратора стираються. Порівняння є лінійно-орієнтованим, не байтом.
Код доводить три конвенції нормалізують; не доведемо, чому системи прийняли їх
Деякі мережеві та протоколи повідомлень вказують на точні рядки, але їх вимоги повинні бути з їх специфікацій. ToolAcreНормалізація – це непристойна для дозування конформансу до такого формату дроту, оскільки оригінальні докази сепаратора навмисно видаляються.
Використовуйте віратор шестигранного перегляду або протоколу, перш ніж паритися при точну CRLF послідовності. Чистий Текстовий дифузійний результат може підтвердити відповідність логічних ліній та одночасно концесувати дефект транспортного рівня. Обидва спостереження можуть бути вірними, оскільки інструменти відповідають різним питанням.
Вимоги до протоколу, що вимагають власних специфікацій і видаються тут
Порівняти `alpha beta`, `alpha beta` і `alpha beta` в парах. Кожен випускає дві лінії, альфа і бета, а не додавання або видалення. Ігнорація вже сталася під час розщеплення.
Додайте причепи до одного бета-ряду і звичайний режим тепер повідомляють про різницю. Увімкнути білий простір Ігнора і він може зникнути. Послідовність відокремлює роботу з білим простором під ключ і запобігає зарахування неправильного варіанту.
Ведуться роботи: всі три закінчення форми порівнювати як рівні до варіантів білого простору
Цей маршрут не налаштовує редакторів, перезаписувати файли, встановити атрибути Git або насипні закінчення. Також не висаджує оригінальний сепаратор в результаті рядів. Встановлюються рядки вводять по трубопроводу порівняння, не новалінійна утиліта міграції.
Історичні норми про каустрацію та протоколи торгуються джерелами кредитування. Що стримано залишає меншу, але точну статтю: які три конвенції роблять в цій реалізації, які бувають порожні лінії і чому рівність тут не встановлюються байтом.
Ведуться: знайте, що конвенція вашого тексту несе — підсумує історію та як ToolAcre's Text порівняння допомагає підтвердити різницю тільки закінчення рядків
Знайте, які докази пережили інструмент. Після нормалізації ToolAcre Порівняти вміст логічної лінії по загальних сепараторах. Ви не можете сказати, що конвенції або джерело, що використовується, або будь то споживача знизу.
Використовуйте переадресацію веб-переглядача для рецензування та перевірки рівня за допомогою протоколу. Інструмент є надійним, коли його трансформації є явними; рецензенти залишаються відповідальними за вибір одного, що зберігає властивість, яку потрібно перевірити.