Перевод строки – базовая операция, которую можно выполнить относительно текстовых данных и символов. Она встречается как в разработке, так и в операционных системах. Далее она будет рассмотрена более подробно. Также предстоит изучить формы ее представления на компьютерах и ключевые особенности.
Определение
Перевод строки – это разрыв. Так называется продолжение печати текста с новой строки (с левого края) на строчку ниже или уже на следующей странице.
String – это последовательность из нуля и более символов, которые не являются элементами новой строчки, а также терминирующего символа новой строки. Такое определение дает стандарт POSIX. На нем базируется почти все современное программное обеспечение.
Символы управления в системах
Системы, базирующиеся на ASCII или совместимом наборе символов, будут использовать или LF (перевод каретки), или CR (возврат каретки) по отдельности. Также возможно применение последовательности CR + LF.
Все текстовые редакторы отображают напечатанные данные в некоем адаптированном виде при помощи преобразований печатных элементов. Пример – перенос строки и табуляция. Соответствующие операции будут выражены в редакторе определенным образом – в виде настоящих отдельных строк или выравнивающих отступов.
Символ переноса строк обычно ставится при нажатии на клавишу Enter. Это классический вариант, но есть и другие. Многое в соответствующем вопросе зависит от того, на какой конкретно платформе будет происходить кодирование информации:
- в UNIX-системах (сюда включены также современные версии MacOS) будет использоваться всего один символ перевода строки (LF);
- в Windows задействованы для варианта – возврат каретки (CR) и перевод строки на новую (LF);
- в старых версиях MacOS, написанных до 2001 года, использовался только символ CR.
Отдельно стоит обратить внимание на Юникод. Здесь используется определенный спектр символов управления.
В Unicode
Действующий стандарты требуют, чтобы приложения, совместимые с Unicode, обязательно воспринимали как перевод строчек каждый из таких символов:
- LF – подача string;
- CR – возврат каретки;
- NEL – переход на следующую string;
- LS – разделитель строк;
- PS – разделитель абзацев.
Если используется последовательность CR + LF, она будет восприниматься системой или приложением как одно единственное действие, а не два отдельных.
Термины
Теперь можно изучить несколько понятий, которые помогут лучше освоить символы управления в ASCII:
- Перевод строчки сокращается до NEL или newline – «перевод на новую строку».
- Возврат каретки – CR. Управляющий символ, который помечается как \r и имеет код 0x0D. При его выводе курсор будет перемещен к левому краю поля. Именно он будет вводится при нажатии на Enter. При записи в файл не рассматривается как отдельный компонент. Данное явление поддерживается только в Macintosh-системах.
- Подача на string или перевод. Еще один символ ASCII для управления текстовыми данными. Имеет код 0x0A, а также выражен символом \n. При его использовании курсор будет перемещен на новую строку. Если речь идет о принтере, то бумага будет сдвинута вверх, а на дисплее произойдет сдвиг курсора вниз при наличии пространства. Если же места нет, текст будет прокручен вверх.
- Аппаратный (жесткий) возврат – разделитель строк, который проставляется пользователем. В машинном представлении он имеет яркую выраженность управляющими символами или тегами.
- Мягкий возврат – перед строчки, выполненный текстовым процессором в том месте, где было выбрано. Он разделяет строки в визуальном (том, который видит пользователь) представлении. В машинной интерпретации может быть никак не выражаться.
Если ввести в терминале последовательность CR + LF (код 0x0D0A), согласно семантики терминала, будет создана новая строчка.
В Word
Знак перехода на новую строчку чаще всего используется в текстовых редакторах. Пример – Word. Далее предстоит выяснить, как в том или ином случае перенести каретку на новую string в том или ином случае. В MS Word существуют несколько методов реализации соответствующей задачи.
Без создания абзаца
Иногда конец строчки не нужен – необходимо просто сделать разрыв между текстовыми данными. В этом случае можно использовать один прием MS Word. Он позволяет перейти на другую строчку, рассматривая обе strings в качестве единого целого.
Для этого потребуется выполнить следующую последовательность действий:
- Открыть документ, с которым планируется работать.
- Поставить курсор в «конец» строчки. Последний напечатанный знак в ней станет окончанием.
- Нажать сочетание Shift + Enter. Оно будет считано системой как символ переноса строки.
Теперь можно продолжить печать. Абзац окажется разорванным. Каретка будет перемещена вниз, но string будет воспринят системой как одно целое.
Для web
В случае с формированием текста для веб-страниц можно использовать другой алгоритм перехода. С его помощью переводим курсор (каретку) на новую строку для обтекания размещаемых объектов:
- В окне открытого документа необходимо поставить курсор после слова, за который требуется осуществить перенос (конец string).
- Зайти во вкладку «Макет».
- Перейти в «Параметры страницы»–«Разрывы»–«Обтекание текстом».
Остается посмотреть на получившийся результат. Никаких символов возврата каретки/перевода строки здесь не будет. Они не видны пользователю в редакторе.
В программировании
Знак символа конца строки и перехода на новую активно используется в разработке программного обеспечения. Здесь необходимо обратиться к элементам управления в ASCII.
Принцип работы приведен на Python. Здесь будет создан документ со сломанными строчками:
Теперь необходимо создать утилиту wc. Она будет оснащена флагом –I. Используется для подсчитывания strings в документе:
Результат покажет 2. Далее необходимо создать еще один файл с символами.
Переходя к утилите cat, потребуется «склеить» соответствующие 2 документа:
Результат будет непредсказуемым. Здесь можно увидеть полный перечень компонентов управления ASCII. А тут – сопутствующий видео-урок по изученной теме.
Чтобы лучше и быстрее вникнуть в соответствующий вопрос, рекомендуется посетить дистанционные онлайн курсы. Пример – от образовательного центра OTUS. Там быстро научат азам не только разработки приложений, но и системного администрирования. В срок до 12 месяцев получится освоить инновационные профессии с нуля. Можно выбрать одно или несколько направлений для одновременного изучения.
Хотите освоить современную IT-специальность? Огромный выбор курсов по востребованным IT-направлениям есть в Otus!