Перенесення рядка - це

Загальні відомості

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

Слід розрізняти ситуації, коли "новий рядок" завершує рядки, а коли - розділяє їх. Якщо "новий рядок" має на увазі відділення рядків, то знак "нового рядка" не ставиться після останнього рядка файлу. За спільною згодою, в більшості систем "новий рядок" додається навіть після останнього рядка, тобто трактують "новий рядок" як закінчення рядка. Деякі програми мають труднощі з обробкою останнього рядка файлу, якщо він не закінчується символом нового рядка. І навпаки, програми, які очікують "новий рядок" щоб використовувати її як роздільник, інтерпретують останню "новий рядок" як початок нової (порожній) рядка. Це може привести до відмінностей в підрахунку рядків у файлі, але в усьому іншому це, в общем-то, не шкідлива.

У текстах, призначених для читання людьми за допомогою програм, що використовують переноси слів. символ "нового рядка" зазвичай необхідний, тільки якщо перенесення рядка повинен бути незалежний від положення наступного слова на цьому ж рядку, як, наприклад, між параграфами і вертикальними списками (див. жорсткий повернення і м'який повернення)

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

Новий рядок (калька з англ. New line зд. «З нового рядка») - поняття логічного форматування тексту в текстовому процесорі. браузері і т.д. Як правило (хоча і не обов'язково), новий рядок розпочинає запис тексту з нового абзацу (англ. Hard return). Новий рядок має на увазі обов'язковий переклад рядка в відповідному місці тексту, хоча «переклади рядка» взагалі є і всередині абзацу.

Повернення каретки (англ. Carriage Return, CR) - керуючий символ 0x0D, при виведенні якого курсор переміщається до лівого краю поля, не змінюючи висоту. Цей керуючий символ вводиться клавішею «Enter». Будучи записаний у файлі. окремо розглядається як новий рядок тільки в системах Macintosh.

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

У разі принтера це означає зрушення папера вгору, в разі дисплея - зсув курсору вниз якщо ще залишилося місце, і прокручування тексту вгору якщо курсор знаходиться на нижньому рядку.

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

Таким чином, висновок послідовності CR LF в семантиці терміналу гарантує дію «створення нового рядка».

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

Уявлення і реалізації

Програмні додатки і операційна система зазвичай представляють "новий рядок" у вигляді одного або двох керуючих символів.

Короткі відомості

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

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

Переклад рядка в 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].

  • Юнікод намагається примирити різницю уявлень перекладу рядка, зрівнюючи 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.

Дивитися що таке "Перенесення рядка" в інших словниках:

Перенесення в математичних формулах - розбивка не вміщується в рядок мат. формули на частини по рядках. Розділяти формули на частини по рядках треба в першу чергу на знаках відносини між лівою і правою частинами формул (=, ≈, <,>, ≤, ≥): в другу на відточити, знаках додавання ... Видавничий словник-довідник

Перенесення в хімічних формулах - розбивка не вміщується в рядок хім. формули на частини по рядках. Допускається тільки в разі крайньої необхідності. Розбивку рекомендується робити на знаках напрямки реакції (стрілках), знаках рівності, рівноваги. взаємодії (+ або -) ... Видавничий словник-довідник

ПЕРЕНЕСЕННЯ - (анжанбеман) (французьке enjambement, буквально переступання), крайній випадок розбіжності членування на вірші (тобто віршовані рядки) з природним синтаксичним розчленовуванням мови, коли синтаксична пауза всередині вірша (або полустишия) ... ... Сучасна енциклопедія

Перенесення - (анжанбеман) (французьке enjambement, буквально переступання), крайній випадок розбіжності членування на вірші (тобто віршовані рядки) з природним синтаксичним розчленовуванням мови, коли синтаксична пауза всередині вірша (або полустишия) ... ... Ілюстрований енциклопедичний словник

перенос - ПЕРЕНО'С (франц. enjambement, від enjamber переступити, перескочити) розбіжність інтонаційно фразового членування у вірші з метричних членуванням, причому фраза (або частина її, складова незбиране синтаксичне поєднання), розпочата в одному вірші, ... ... Поетичний словник

перенос - (> фр. enjambement перенесення) перенесення частини фрази з попередньої віршованого рядка в наступну, викликаний розбіжністю традиційно закінчує рядок кінцевої стиховой паузи з паузою смисловий. На тлі ритмічно правильних віршів П. ... ... Словник літературознавчих термінів

Схожі статті