Символ конца строки windows

Перевод строки

Перевод строки, или разрыв строки — продолжение печати текста с новой строки, то есть с левого края на строку ниже, или уже на следующей странице.

Разделителем строк, обозначающим место перевода строки, в текстовых данных служит один или пара управляющих символов, а в размеченном тексте также — определённый тег (в HTML — тег
, от англ. break — «разрыв»). Разделитель строк также называют просто переводом строки, когда нет надобности их различать.

Вместе с другими действиями перевод строки выполняется также перед следующим абзацем или страницей.

Содержание

Терминология

Перевод строки называют переносом [источник не указан 915 дней] , когда нет опасности спутать его со внутрисловным переносом. Перевод строки сокращают как NEL (от англ. next line — «со следующей строки, переход на следующую строку», или newline — «с новой строки, переход на новую строку»).

Возврат каретки (англ. carriage return , CR) — управляющий символ ASCII (0x0D, 13 в десятичной системе счисления, ‘\r’), при выводе которого курсор перемещается к левому краю поля, не переходя на другую строку. Этот управляющий символ вводится клавишей «Enter». Будучи записан в файле, в отдельности рассматривается как перевод строки только в системах Macintosh.

Подача строки (от англ. line feed , LF — «подача [бумаги] на строку») — управляющий символ ASCII (0x0A, 10 в десятичной системе счисления, ‘\n’), при выводе которого курсор перемещается на следующую строку. В случае принтера это означает сдвиг бумаги вверх, в случае дисплея — сдвиг курсора вниз, если ещё осталось место, и прокрутку текста вверх, если курсор находился на нижней строке. Возвращается ли при этом курсор к левому краю или нет, зависит от реализации.

Таким образом, вывод последовательности CR+LF в семантике терминала гарантирует действие «создание новой строки».

Терминалы (и их эмуляторы) могут также проводить различные преобразования символов (например, LFCR+LF, CRCR+LF) при вводе и выводе текста.

Жёсткий возврат, иногда аппаратный возврат — разделитель строк, поставленный пользователем.

Мягкий возврат — перевод строки, выполненный текстовым процессором в том месте текста, которое им выбрано. Мягкий возврат является разделителем строк для текстового процессора и не является таковым для пользователя.

В ASCII

Системы, основанные на ASCII или совместимом наборе символов, используют или LF (перевод строки, 0x0A), или CR (возврат каретки, 0x0D) по отдельности, или последовательность CR+LF; см. ниже историческую причину для соглашения CR+LF. Эти названия основаны на командах принтера: перевод строки означает, что одна строка на бумаге должна быть перенесена при печати, а возврат каретки означает, что каретка печатающего устройства должна вернуться к началу текущей строки.

В Юникоде

По стандарту, любое совместимое с Юникодом приложение должно воспринимать как перевод строки каждый из нижеследующих символов:

  • LF (U+000A): англ.line feed — подача строки;
  • CR (U+000D): англ.carriage return — возврат каретки;
  • NEL (U+0085): англ.next line — переход на следующую строку;
  • LS (U+2028): англ.line separator — разделитель строк;
  • PS (U+2029): англ.paragraph separator — разделитель абзацев.

Последовательность CR+LF (U+000D U+000A) надлежит воспринимать как один перевод строки, а не два [1] .

Трудности

Нет общепринятых сокращений русских терминов. ВК (Возврат Каретки) совпадает по написанию с сокращением от англ. BreaK («разрыв [строки]», — то же, что перевод строки), а ПС не различает Подачу Строки и Перевод Строки.

Разница представлений

Отсутствие единого общепринятого представления перевода строки в разных операционных системах осложняет обмен текстовыми данными между ними. Юникод старается примирить эту разницу, уравнивая CR, LF и CR+LF, однако вступает в противоречие с наследуемым им ASCII при трактовке последовательности LF+CR, не предварённой CR: согласно ASCII это один перевод строки, а согласно Юникоду — два. Вероятно, Юникод сделал ставку на не существовавшие в ASCII разделители строк и абзацев, но они не прижились [источник не указан 1309 дней] .

Перевод строки при вводе с клавиатуры представлен единообразно во всех системах — символом CR, и в системах с другим представлением перевода строки текстовые данные приходится перекодировать.

Читайте также:  Годом выпуска первой версии операционной системы windows

Последняя строка

Даже в современных изданиях ОС UNIX и Linux отсутствие перевода строки в конце системных конфигурационных файлов приводит к тому, что последняя строка не учитывается [2] , а вроде правильно составленный файл не работает, представляясь головоломкой для пользователя, не предупреждённого об этой самобытной особенности. См. раздел Конец строки.

История

На перфокартных системах хранения данных одна строка записывалась на одну перфокарту, поэтому строка была заданной длины, по количеству колонок (обычно 80). Строки короче добивались пробелами, а строки длиннее обрезались. Разделителя строк не было, а неявный перевод строки предполагался через каждые 80 символов. Некоторые ранние мейнфреймовые операционные системы переняли это для хранения текста в файлах, где уже не было естественного ограничения на длину строки.

На механических пишущих машинках был рычаг, который возвращал каретку к левому краю страницы и прокручивал вал, подвигая бумагу вверх на строку. На телетайпах и более поздних алфавитно-цифровых печатающих устройствах (АЦПУ) вместо каретки была головка, в лазерных принтерах она перестала быть материальной, но в термине возврат каретки всё это продолжали называть кареткой, чтобы его не менять. На телетайпах возврат каретки и подачу строки разделили, откуда традиция представления перевода строки как CR+LF перешла и к текстовым файлам.

Конец строки

Телетайпы сначала печатали на рулонной бумаге, и сообщения начинали и заканчивали переводом строки, чтобы каждое начиналось с новой строки наверняка. Отсюда пошёл обычай включать разделитель сообщений в состав самого сообщения.

На компьютерах появился диалоговый режим работы, когда поочерёдно печатались вводимые управляющие сообщения пользователя и ответные программные сообщения. Пользователь после сообщения всегда переводил строку, так как одновременно это означало команду к исполнению, а вот программы после своего сообщения строку иногда не переводили, несмотря на предписание. Устройство вывода изначально не было приспособлено к тому, чтобы терминал мог следить за переводами строк, и реализовать это было трудно, поэтому чтобы ввод пользователя начинался с новой строки наверняка, управляющий диалогом терминал после программного сообщения переводил строку тоже. Помещать перевод строки предписывалось и в конце текстового файла.

Забота о разделении сообщений легла на терминал, и думать об этом перестали, а перевод строки в конце текста переосмыслился как конец последней строки, вместе с чем как концы строк переосмыслились и вообще все переводы строк, чему способствовало удобство работы с регулярно завершёнными строками с точки зрения программирования, сродни нуль-терминированным строкам. Так обычай включать разделитель сообщений в состав сообщения перешёл в обычай включать разделитель строк в состав строки.

Лишняя строка в конце файла обычно не представляет хлопот, поэтому перевод строки до сих пор называют концом строки, а разделитель строк — символом конца строки (EOL, англ. end of line ).

Перетекание разделителя в завершитель и обратно бывает не только у перевода строки. Так, точка с запятой в языке Си команды завершает, а в Паскале их разделяет. В письменной речи после нескольких предложений точку почти всегда ставят, а после одиночного — чаще нет. Это колебание хорошо видно в списках, где одиночные предложения иногда начинают с большой буквы, а иногда — с маленькой.

Абзац

На телетайпах, а потом и в первых редакторах разделение текста на абзацы не имело своего особого представления, для этого использовали пустые строки или отступ из нескольких пробелов, а переводы строки внутри абзаца проставляли вручную.

Позже в редакторах появился автоматический перенос, выполняемый на лету при отрисовке текста каждый раз заново. Для отличения от ручного его назвали мягким возвратом, а ручной — жёстким (перенос называли и просто возвратом, см. раздел Разница представлений). Разделитель строк при этом переносил как раньше, но приобрёл смысл ещё и разделителя абзацев — для тех строк, в которых срабатывал автоперенос и которые становились при этом абзацами. Включатель такого режима назвали переносом по словам (англ. word wrap ). При автопереносе ручной перенос разрывал абзац, межабзацный интервал делался как раньше (в новых терминах — перемежением пустым абзацем), но основное качество абзаца — независимость от разбиения на строки — было достигнуто.

Режим автопереноса включался и выключался пользователем вручную, определить это программно было трудно, то есть, избавившись от ручного переноса, получили другую ручную операцию. Стало понятно, что не обойтись без более автоматизирующего разнесения разделителя строк и разделителя абзацев, то есть для них понадобились два разных символа.

Читайте также:  Windows macro program files

Чтобы не заботиться о совместимости с уже существующим в ASCII разделителем строк/абзацев, разработчики не стали использовать символы ASCII для разделителя строк и разделителя абзацев. В HTML использовали теги
и

, в Юникоде — символы U+2028 и U+2029, соответственно. В Википедии абзацы можно разделять пустыми строками, отображаемыми при этом полноценным интервалом.

Новая строка

Новая строка

Новая строка или перевод строки или перенос строки или разделитель строк или символ конца строки (EOL) в информатике — специальный управляющий символ (или их последовательность), служащий для завершения или разделения строк в текстовых данных.

Содержание

Общие сведения

Название закрепилось из-за того, что следующий символ после разделителя печатается уже на новой строке, то есть на следующей строке, расположенной ниже текущего текста, сразу следующей за разделителем. В виде символов представляют «новую строку» по-разному, в зависимости от аппаратной платформы и операционной системы, что может стать потенциально проблемой при обмене данными между системами с различными представлениями форматирования текста.

Следует различать ситуации, когда «новая строка» завершает строки, а когда — разделяет их. Если «новая строка» подразумевает отделение строк, то знак «новой строки» не ставится после последней строки файла. По общему соглашению, в большинстве систем «новая строка» добавляется даже после последней строки, то есть трактуют «новую строку» как окончание строки. Некоторые программы имеют трудности с обработкой последней строки файла, если он не заканчивается символом новой строки. И наоборот, программы, ожидающие «новую строку» чтобы использовать ее как разделитель, интерпретируют последнюю «новую строку» как начало новой (пустой) строки. Это может привести к различиям в подсчете строк в файле, но во всем остальном это, в общем-то, безвредно.

В текстах, предназначенных для чтения людьми при помощи программ, использующих переносы слов, символ «новой строки» обычно необходим, только если перенос строки должен быть независим от положения следующего слова на этой же строке, как, например, между параграфами и вертикальными списками (см. жёсткий возврат и мягкий возврат)

Терминология

Но́вая строка́ (калька с англ. new line , зд. «с новой строки») — понятие логического форматирования текста в текстовом процессоре, браузере и т.д. Как правило (хотя и не обязательно), новая строка начинает запись текста с нового абзаца (англ. hard return ). Новая строка подразумевает обязательный перевод строки в соответственном месте текста, хотя «переводы строки» вообще имеются и внутри абзаца.

Возвра́т каре́тки (англ. Carriage Return, CR ) — управляющий символ ASCII 0x0D, при выводе которого курсор перемещается к левому краю поля, не меняя высоту. Этот управляющий символ вводится клавишей «Enter». Будучи записан в файле, в отдельности рассматривается как перевод строки только в системах Macintosh.

Пода́ча строки́ (от англ. Line Feed, LF «подача [бумаги] на строку») — управляющий символ ASCII 0x0A, при выводе которого «курсор» перемещается на следующую строку.

В случае принтера это означает сдвиг бумаги вверх, в случае дисплея — сдвиг курсора вниз если ещё осталось место, и прокрутку текста вверх если курсор находится на нижней строке.

Возвращается ли при этом курсор к левому краю или нет, зависит от реализации.

Таким образом, вывод последовательности CR LF в семантике терминала гарантирует действие «создание новой строки».

Терминалы (и их эмуляторы) могут также проводить различные преобразования символов (например, «LF» → «CR LF», «CR» → «CR LF») при вводе и выводе текста.

Представления и реализации

Программные приложения и операционые системы обычно представляют «новую строку» в виде одного или двух управляющих символов.

Краткие сведения

Системы, основанные на ASCII или совместимом наборе символов, используют или LF (от англ. Line feed (перевод строки), 0x0A) или CR (от англ. Carriage Return, 0x0D) по отдельности, или CR следует за LF (CR+LF, 0x0D 0x0A); см. ниже историческую причину для соглашения CR+LF. Эти символы основаны на командах принтера: перевод строки означает, что одна строка на бумаге должна быть перенесена при печати, а возврат каретки означает, что каретка печатающего устройства должна вернуться к началу текущей строки.

Основные цифровые реализации

  • LF (ASCII 0x0A) — используется в Multics, Unix и Unix-подобных операционнах системах (GNU/Linux, AIX, Xenix, Mac OS X, FreeBSD и др.), BeOS, Amiga, RISC OS и других
  • CR (ASCII 0x0D) — используется в машинах Commodore, Apple II, Mac OS до версии 9 и OS-9
  • CR + LF (ASCII 0x0D 0x0A) — используется в DECRT-11 и большинстве остальных доюниксовых систем, несовместимых с IBM OS, а также в CP/M, MP/M, DOS, OS/2, Microsoft Windows, Symbian OS, протоколах internet.
Читайте также:  Управление дисковыми пространствами windows

Перевод строки в Unicode

По стандарту, любое совместимое с Юникодом приложение должно воспринимать как перевод строки каждый из нижеследующих символов:

  • LF: подача строки, U+000A
  • CR: возврат каретки, U+000D
  • NEL: новая строка, U+0085
  • FF: новая страница, U+000C
  • LS: разделитель строк, U+2028
  • PS: разделитель абзацев, U+2029

Последовательность CR LF (U+000D U+000A) надлежит воспринимать как один перевод строки (а не два) [1] .

Трудности

  • Нет общепринятых сокращений русских терминов. ВК (Возврат Каретки) опасно совпадает по написанию с сокращением от англ.BreaK («разрыв [строки]», то же, что Перевод строки), а ПС не различает Подачу Строки и Перевод Строки.
  • Юникод старается примирить разницу представлений перевода строки, уравнивая CR, LF и CR LF, однако вступает в противоречие с наследуемым ASCII при трактовке LF CR, не предварённых CR: согласно ASCII это один перевод строки, а согласно Юникоду — два. Вероятно, Юникод сделал ставку на не существовавшие в ASCII разделители строк и абзацев, но они не прижились.
  • В зависимости от того, считать ли перевод строки её частью (завершителем) или не считать (считая их разделителем), после последней строки его ставят или нет. При пренебрежении одной из этих возможностей во время декодирования конец текста может стать неожиданным или появится лишняя пустая строка. Для сравнения, точка с запятой в Си команды завершает, а в Паскале разделяет.

История

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

На АЦПУ функции возврата каретки (головки) и подачи новой строки были разделены, откуда традиция представления перевода строки как CR LF перешла и к текстовым файлам.

Некоторые исторические цифровые системы записи текста (например, при помощи перфокарт) вообще не использовали символ перевода строки.

Примечания

Дополнительные источники

  • The Unicode reference, see paragraph 5.8 in Chapter 5 of the Unicode 4.0 standard (PDF)
  • «The End-of-Line Story»
  • The [NEL] Newline Character
  • The End of Line Puzzle
  • Tofrodos — software for Unix that converts to and from DOS newlines
  • ToFroWin: a Windows shell extension that is able to convert multiple files from DOS to UN*X (and vice-versa) line endings right from the context menu.

Wikimedia Foundation . 2010 .

Смотреть что такое «Новая строка» в других словарях:

Новая судейская система (фигурное катание) — Новая судейская система (англ. New Judging System (NJS), также Судейская система ИСУ, англ. ISU Judging System[1]) действующая система оценок для мужского и женского одиночного фигурного катания, парного катания, спортивных танцев … Википедия

Новая волна 2011 — Дата проведения 26 июля 31 июля … Википедия

Красная строка — вся прописная, заголовок, или новая строка … Энциклопедический словарь Ф.А. Брокгауза и И.А. Ефрона

New line — Новая строка … Краткий толковый словарь по полиграфии

Перенос строки — Новая строка или перевод строки или перенос строки или разделитель строк или символ конца строки (EOL) в информатике специальный управляющий символ (или их последовательность), служащий для завершения или разделения строк в текстовых данных.… … Википедия

Подача строки — Новая строка или перевод строки или перенос строки или разделитель строк или символ конца строки (EOL) в информатике специальный управляющий символ (или их последовательность), служащий для завершения или разделения строк в текстовых данных.… … Википедия

Разделитель строк — Новая строка или перевод строки или перенос строки или разделитель строк или символ конца строки (EOL) в информатике специальный управляющий символ (или их последовательность), служащий для завершения или разделения строк в текстовых данных.… … Википедия

АБЗАЦ — (нем. Absatz от ab от и setzen класть, ставить.). Начало текста, новая строка при типографском наборе букв. Словарь иностранных слов, вошедших в состав русского языка. Чудинов А.Н., 1910. АБЗАЦ нем. Absatz, от ab, от, и setzen, класть, ставить.… … Словарь иностранных слов русского языка

TELNET — Название: Teletype network Уровень (по модели OSI): Прикладной Семейство: TCP/IP Порт/ID: 23/TCP Назначение протокола: виртуальный текстовый терминал Спецификация: RFC 854 / STD 8 … Википедия

Date — утилита Unix для работы с системными часами. Выводит текущую дату и время в различных форматах и позволяет устанавливать системное время. Содержание 1 Использование 2 Ключи 3 См. также … Википедия

Оцените статью