Українська

Текстові та повсякденні інструменти · Text Toolkit

Кр, LF і CRLF: куди приходять закінчення рядків і чому минулі текстові перерви

· Підземелля

Опубліковано ToolAcre · Редакція журналу

Лінії текстове очищення Дані-експорти

Приєднуйтеся та відокремлюють ряди тексту
Головна ToolAcre векторна ілюстрація

Передбачає, що телетип є джерелом зворотного і лінійного живлення, чому операційні системи вибирають різні конвенції, і як ці вибір демонструють як подвійні порожні лінії і промені символи в заданому тексті.

Експорт з порожнім рядком після кожного ряду — чому файл з іншої системи паста з двічі більше рядків

Ви вставляєте трирядний експорт і побачите порожній рядок після кожного запису. Спостереження за темою Windows CRLF відразу ж, але стандартно-конформувана текстова зона, як правило, представляє лінійні розриви у нормалізованому вигляді. Подвоєні ряди частіше означають, що чим раніше перетворилися перевалки повернення і подача лінії як два незалежних сепаратори, або вставляється додаткова нова лінія між записами.

Зберігайте оригінальну до тих пір, поки ви не знаєте, що цей етап змінив. Порівняти джерело в редакторі, який може виявити символи керування, потім порівняти кількість заданих рядків. ToolAcre свідомо приймає CRLF, LF і lone CR як один крайовий кожен, так що дотишний трикутний файл повинен виготовляти три лінії, а не шість, тому що він вийшов з Windows.

Додатковий порожній ряд є симптомом, не доказуючи, що CRLF поодинці зумовили це

Назви описують фізичні дії на друкованих терміналах. Повернути вагонетку до початку поточного рядка, в той час як лінія корму просунулася до наступного рядка. Вони були окремими контрольами, тому що будь-який рух може знадобитися самостійно. ASCII зберігають їх як символи керування CR в десятку 13 і LF в десятковий 10.

Сучасні екрани більше не переходять папір, проте значення байтів, що зберігаються у файлах, протоколах та інтерфейсах програмування. Історія пояснює, чому CR і LF не взаємозамінні знаки пунктуації і чому CRLF - двофакторна послідовність. Це не означає, що кожен сучасний додаток обробляє їх окремо; парсери зазвичай розпізнають як один логічний рядок закінчення.

Три конвенції — LF на Unix та сучасних macOS, CRLF на Windows, CR на класичний Mac OS, і чому кожен зданий розумний

Унікс і Unix-подібні системи зазвичай використовують LF для закінчення лінії, а сучасні macOS слідують за конвенцією. Windows текстові файли, звичайно, використовують CRLF. Класична Mac OS використовується CR самостійно, але Mac OS X приймав Unix фундамент і LF. Якщо інструменти обмінюються простим текстом без узгодження нормалізації.

Немає конвенції робить слова самі різними. На межі, чиє читач очікує лише одне уявлення або нав’язливо розщеплюється на кожному рівні керування. Надійний аналізатор рядків CRLF як пара перед перевіркою самотнього CR або LF. ToolAcre робить саме те, що з замовленим малюнком ` | | `, потім приєднується до трансформаторного виходу з LF.

Що відбувається в текстовому вікні браузера — як лінійні перерви, як правило, нормалізуються на пасті і де з'являються символи променя

HTML визначає спеціальну обробку рядків у текстових управліннях. У тексті CRLF і lone CR до LF у виставленому значенні, в той час як подання форми може застосувати правила форми для розривів рядків. Отже, паста, яка виглядає правильно в ящику, ще може бути послідовно за іншим шаром або скопіювати в програмне забезпечення з іншого конвенції.

Страй CR все ще може бути поверхневим, коли текст обходить звичайний текст, коли втекти байти, такі як літеральні символи `\r` виводяться, або коли парсер розщеплюється тільки на LF і листя CR прикріплюється до кожного поля. Переглядач є одним етапом на шляху, не універсальним ремонтом для файлів, буферів, API та командно-лінійних споживачів.

Браузери нормалізують текстові рядки, але буфери та формати знизу все ще відрізняються

Відхилити ряди і причепні перевезення повернулися до різних діагнозів. Видалити Empty Lines видаляє рядки, вміст яких порожній або білий простір після ToolAcre Визначено всі три стилі, що відповідають вимогам. Трім Лінії знімають провідний і причіпний білий простір з кожного ряду. Бо ToolAcre’ розгалужувач споживає реальний сепаратор CR, обрізка зазвичай не потрібна для видалення цього сепаратора.

Використовуйте обрізку тільки при пробілах, вкладках або літровому неспроможному характері залишаються, і перевірте значуще відступання до його зміни. Якщо текст містить видимість `^M`Визначте, чи є глядачем фактичний CR або два друкованих персонажів. Заміна ковдри може призвести до пошкодження призначеного вмісту, в той час як контроль за підрахунками до і після отримання рецензентного результату.

Видалити порожні рядки закріплює порожні рядки; обрізка зазвичай непотрібна після ToolAcre розщеплення CR правильно

Для відтворюваного прикладу, почніть з трьох назв, які пошкоджені проміжні представництва містять порожній ряд між кожним іменем: `Ada`, порожній, `Grace`, порожній, `Linus`. Слово та Чарктер Контр повідомляє п'ять рядків. Це свідомо подвійне введення; CRLF Послідовність поодинці визнали як один крайовий і не створить ті порожні рядки в ToolAcre.

Виберіть Видалити Empty Lines і вихід стає трьома лініями, що доходять з LF. В даний час лічильник повинен повідомити три. Якщо імпортні значення також носять наповнювачі, запустіть лінії Trim окремо і ознайомтеся з результатом. Розгортання цих операцій доводить, що дефект кожної дії фіксується замість того, щоб приділяти кожному очищенню від тексту вікна.

Призначений для роботи приклад: чистіть навмисно подвійний експорт і перевірте кількість рядків

Лінія-закінчення очистки не відремонтує тверде обгортання, де на ширину стовпця з’явився один логічний вирок. Знімання кожного нового компонента також буде приєднатись до реальних пунктів та елементів списку. Вирішуйте, чи є граничний запис, абзац або візуальне обгортання, перш ніж застосувати операцію лінії по всьому блоку.

Він також не діагностує кодування символів. Р UTF-8 байтувати позначку замовлення, заміна діамантів, моджибека і декодування несправностей стурбовані тим, як байти стають героями, а якщо CR або LF відокремлює ті символи в рядки. Збережіть оригінальний файл і визначте його кодування з відповідним інструментом для файлів, перш ніж лікувати непарні видимі символи, як закінчення рядків.

Увімкнення — закінчення рядків — це історія, яку ви можете побачити; інструменти та лічильник тексту дозволяють виправити симптоми за секундами

Кр, LF і CRLF історичні елементи керування з наслідками сумісності сьогодення. Найбезпечніша психічна модель є однією логічною лінійкою, що межує з кількома фізичними уявленнями. Підрахунок записів, що перевіряють вихідну конвенцію та виявляти фазу, що запровадили порожні рядки або зберігають символи керування, перш ніж видалити все.

Для запечених матеріалів відкрийте текст Toolkit на `/tools/text/`, замітка початкового рядка, застосувати Видалити порожні лінії тільки при порожніх рядках дійсно небажані, і використовувати лінії Trim тільки для навколишнього білого простору. Перевірити кількість записів і зразок після Цей короткий аудит перетворює невидиму задачу форматування в контрольовану, реверсивну текстову трансформацію.