Ағылшыншамен салыстырыңыз: абзацты басыңыз — түпнұсқа терезеде ашылады. Абзац астындағы EN түймесі оны мәтін ішінде көрсетеді.
Мазмұны
Кіріспе
Есептеуде мәтін жолының соңынан хабар беретін арнайы таңбалар.
Special characters in computing signifying the end of a line of text
Жаңа жол (жиі жолдың соңы, жолдың соңы (EOL), келесі жол (NEL) немесе жол үзілісі деп аталады) – ASCII, EBCDIC, Unicode сияқты таңбалық кодтау спецификацияларындағы басқару таңбасы немесе басқару таңбаларының тізбегі. Бұл таңба немесе таңбалар тізбегі мәтін жолының аяқталғанын және жаңа жолдың басталғанын көрсетеді.
A newline (frequently called line ending, end of line (EOL), next line (NEL) or line break) is a control character or sequence of control characters in character encoding specifications such as ASCII, EBCDIC, Unicode, etc. This character, or a sequence of characters, is used to signify the end of a line of text and the start of a new one.
Тарих
1800 жылдардың ортасында телепринтерлер мен телетайп машиналарының пайда болуына дейін Морзе коды операторлары немесе телеграфшылар Морзе коды просигндарын ресми жазбаша мәтіндік хабарламаларда бос орынды пішімдеу үшін ойлап тапты және қолданды. Атап айтқанда, Морзе кодта жаңа жолды немесе жаңа бөлімді ресми мәтіндік хабарламада кодтау және көрсету үшін Морзе кодта "B" және "T" әріптері арқылы жіберілетін мәтіндік Морзе кодтарының тізбегі арқылы бейнеленген Морзе просигны (есте сақтауға көмектесетін) қолданылды. Кейіннен, заманауи телепринтерлер дәуірінде бос орынды пішімдеуге көмектесу үшін стандартталған таңбалар жиынтығын басқару кодтары жасалды. ASCII-ді Халықаралық стандарттау ұйымы (ISO) және Америка стандарттау қауымдастығы (ASA) бір мезгілде әзірледі, соңғысы Америка Ұлттық Стандарттау Институтының (ANSI) алдыңғы ұйымы болды. 1963-1968 жылдар аралығында ISO стандарттарының жобалары жаңа жол ретінде + немесе ғана қолдануды ұсынса, ASA жобалары тек + қолдады. + тізбегі көптеген ерте компьютер жүйелерінде кеңінен қолданылды, олар телетайп машиналарын – әдетте, телетайп Model 33 ASR – консоль құрылғысы ретінде қабылдаған, өйткені бұл тізбек принтерлерді жаңа жолдың басына орналастыру үшін қажет болды. Жаңа жолды екі функцияға бөлу баспа басының келесі таңбаны басып шығару үшін оң жақтан келесі жолдың басына уақытында қайта орала алмайтындығын жасырды. кейіпкерінен кейін басылған кез келген таңба, әдетте, баспа басы әлі де арбаны бірінші орынға жылжытып жатқанда, беттің ортасында дақ ретінде басылады. "Шешім жаңа жолды екі таңбаға айналдыру болды: арбаны бірінші бағанға жылжыту және қағазды жоғары жылжыту". Шын мәнінде, көбінесе қосымша толтыру таңбаларын жіберу қажет болды – CR немесе NUL-ді елемейтін, бірақ баспаға сол жақ шетіне көшуге уақыт беру үшін. Көптеген ертедегі бейне дисплейлері дисплейді жылжыту үшін бірнеше таңба уақытын қажет етті. Мұндай жүйелерде қосымшалар телетайп машинасымен тікелей байланысып, оның конвенцияларын орындауы керек еді, өйткені мұндай аппараттық ерекшеліктерді қосымшадан жасыратын құрылғы драйверлерінің тұжырымы әлі жетілмеген еді. Сондықтан, мәтін телетайп машиналарының қажеттіліктерін қанағаттандыру үшін әдетте құрастырылды. DEC-тің көптеген шағын компьютер жүйелері осы конвенцияны қолданды. CP/M оны миникомпьютерлер қолданған терминалдарда басып шығару үшін де қолданды. Содан кейін MS DOS (1981) үйлесімді болу үшін CP/M-нің + белгісін қабылдады, ал бұл конвенция Microsoft-тың кейінгі Windows операциялық жүйесіне мұра болып өтті. Multics операциялық жүйесі 1964 жылы жасала бастады және жаңа жол ретінде ғана қолданылды. Multics бұл таңбаны принтерге қажет кез келген тізбекке аудару үшін құрылғы драйверін қолданды (қосымша толтыру таңбаларын қоса алғанда), ал бір байт бағдарламалау үшін ыңғайлы болды. Көбінесе қолданылатын таңдау қолданылмады, өйткені бір жолды екіншісімен бірге қалың, астыңғы және сызылған әсерлерді жасау үшін басып шығарудың пайдалы функциясын ұсынды. Мүмкін, одан да маңыздысы, жалғызды желі аяқтаушы ретінде пайдалану ISO/IEC 646 стандартының жобаларына енгізілген. Unix Multics практикасын ұстанды, ал кейінірек Unix сияқты жүйелер Unix-ті ұстанды. Бұл Windows пен Unix сияқты операциялық жүйелер арасында қайшылықтар тудырды, яғни бір операциялық жүйеде құрастырылған файлдарды екінші операциялық жүйе дұрыс пішімдей алмайды немесе түсіндіре алмайды (мысалы, Notepad сияқты Windows мәтін редакторында жазылған UNIX қабықша скрипті).
In the mid 1800s, long before the advent of teleprinters and teletype machines, Morse code operators or telegraphists invented and used Morse code prosigns to encode white space text formatting in formal written text messages. In particular the Morse prosign (mnemonic reak ext) represented by the concatenation of literal textual Morse codes "B" and "T" characters sent without the normal inter character spacing is used in Morse code to encode and indicate a new line or new section in a formal text message. Later, in the age of modern teleprinters, standardized character set control codes were developed to aid in white space text formatting. ASCII was developed simultaneously by the International Organization for Standardization (ISO) and the American Standards Association (ASA), the latter being the predecessor organization to American National Standards Institute (ANSI). During the period of 1963 to 1968, the ISO draft standards supported the use of either + or alone as a newline, while the ASA drafts supported only +. The sequence + was commonly used on many early computer systems that had adopted Teletype machines—typically a Teletype Model 33 ASR—as a console device, because this sequence was required to position those printers at the start of a new line. The separation of newline into two functions concealed the fact that the print head could not return from the far right to the beginning of the next line in time to print the next character. Any character printed after a would often print as a smudge in the middle of the page while the print head was still moving the carriage back to the first position. "The solution was to make the newline two characters: to move the carriage to column one, and to move the paper up." In fact, it was often necessary to send extra padding characters—extraneous CRs or NULs—which are ignored but give the print head time to move to the left margin. Many early video displays also required multiple character times to scroll the display. On such systems, applications had to talk directly to the Teletype machine and follow its conventions since the concept of device drivers hiding such hardware details from the application was not yet well developed. Therefore, text was routinely composed to satisfy the needs of Teletype machines. Most minicomputer systems from DEC used this convention. CP/M also used it in order to print on the same terminals that minicomputers used. From there MS DOS (1981) adopted CP/M's + in order to be compatible, and this convention was inherited by Microsoft's later Windows operating system. The Multics operating system began development in 1964 and used alone as its newline. Multics used a device driver to translate this character to whatever sequence a printer needed (including extra padding characters), and the single byte was more convenient for programming. What seems like a more obvious choice——was not used, as provided the useful function of overprinting one line with another to create boldface, underscore and strikethrough effects. Perhaps more importantly, the use of alone as a line terminator had already been incorporated into drafts of the eventual ISO/IEC 646 standard. Unix followed the Multics practice, and later Unix like systems followed Unix. This created conflicts between Windows and Unix like operating systems, whereby files composed on one operating system could not be properly formatted or interpreted by another operating system (for example a UNIX shell script written in a Windows text editor like Notepad).
Өкілдік
Керу қайтарымы (CR) және жол ағыны (LF) түсініктері тығыз байланысты және оларды жеке немесе бірге қарастыруға болады. Жазу машиналары мен принтерлердегі физикалық құралдарда бетте жаңа жол жасау үшін "төмен" және "қолдан" екі қозғалыс осі қажет. Машинаны (жазу машинасы немесе принтер) жобалау оларды жеке қарастыруға тиіс болса да, бағдарламалық жасақтаманың абстрактілік логикасы оларды бір оқиға ретінде біріктіре алады. Сондықтан таңба кодтаудағы жаңа жол бір (немесе ) деп аталатын бірге біріктірілген түрінде анықталуы мүмкін. Кейбір таңба жиынтықтары жеке жаңа жол таңба кодын ұсынады. Мысалы, EBCDIC кодтар мен кодтарға қосымша жаңа жол таңба кодын ұсынады. Unicode ASCII және басқару кодтарын ұсынумен қатар, "келесі жол" басқару кодын, сондай-ақ "жол бөлігіш" және "параграф бөлігіш" белгілерінің басқару кодтарын ұсынады. +Бағдарламалық қолданбалар мен операциялық жүйелердің жаңа жолды бір немесе екі басқару таңбасымен көрсетуі Операциялық жүйе Таңба кодтау Қысқарту hex мәні dec мәні Escape тізбегі POSIX стандартымен бағдарланған жүйелер: Unix және Unix сияқты жүйелер (Linux, macOS, *BSD, AIX, Xenix және т.б.), QNX 4+, Multics, BeOS, Amiga, RISC OS және басқалары ASCII Windows, MS DOS үйлесімді, Atari TOS, DEC TOPS 10, RT 11, CP/M, MP/M, OS/2, Symbian OS, Palm OS, Amstrad CPC және көптеген басқа ерте Unix емес және IBM емес операциялық жүйелер Commodore 64, Commodore 128, Acorn BBC, ZX Spectrum, TRS 80, Apple II, Oberon, classic Mac OS, HP Series 80, MIT Lisp Machine және OS 9 Acorn BBC және RISC OS шығарылған мәтіндік нәтижелер QNX POSIX жүзеге асырылғанға дейін (версия < 4) Atari 8 биттік компьютерлер ATASCII IBM негізгі жүйелер, соның ішінде z/OS (OS/390) және IBM i (OS/400) EBCDIC ZX80 және ZX81 (Sinclair Research Ltd компаниясының үй компьютерлері) ZX80/ZX81 меншікті кодтау
The concepts of carriage return (CR) and line feed (LF) are closely associated and can be considered either separately or together. In the physical media of typewriters and printers, two axes of motion, "down" and "across", are needed to create a new line on the page. Although the design of a machine (typewriter or printer) must consider them separately, the abstract logic of software can combine them together as one event. This is why a newline in character encoding can be defined as and combined into one (commonly called or ). Some character sets provide a separate newline character code. EBCDIC, for example, provides an character code in addition to the and codes. Unicode, in addition to providing the ASCII and control codes, also provides a "next line" control code, as well as control codes for "line separator" and "paragraph separator" markers. +Software applications and operating system representation of a newline with one or two control characters Operating system Character encoding Abbreviation hex value dec value Escape sequence POSIX standard oriented systems:Unix and Unix like systems (Linux, macOS, *BSD, AIX, Xenix, etc. ), QNX 4+, Multics, BeOS, Amiga, RISC OS, and others ASCII Windows, MS DOS compatibles, Atari TOS, DEC TOPS 10, RT 11, CP/M, MP/M, OS/2, Symbian OS, Palm OS, Amstrad CPC, and most other early non Unix and non IBM operating systems Commodore 64, Commodore 128, Acorn BBC, ZX Spectrum, TRS 80, Apple II, Oberon, classic Mac OS, HP Series 80, MIT Lisp Machine, and OS 9 Acorn BBC and RISC OS spooled text output QNX pre POSIX implementation (version < 4) Atari 8 bit computers ATASCII IBM mainframe systems, including z/OS (OS/390) and IBM i (OS/400) EBCDIC ZX80 and ZX81 (home computers from Sinclair Research Ltd) ZX80/ZX81 proprietary encoding
EBCDIC жүйелері — негізінен IBM негізгі жүйелері, соның ішінде z/OS (OS/390) және IBM i (OS/400) — жол ағыны және керу қайтарымы функцияларын біріктіретін таңба ретінде (Жаңа жол,) қолданады. Эквивалентті Unicode таңбасы (Келесі жол) деп аталады. EBCDIC сондай-ақ және деп аталатын басқару таңбаларына ие, бірақ олардың сандық мәні ASCII-де қолданылатыннан өзгеше. Сонымен қатар, кейбір EBCDIC нұсқалары да таңбаға басқа сандық кодты тағайындайды. Алайда, бұл операциялық жүйелер мәтіндік файлдарды бір жолға бір жазба ретінде сақтайтын жазбаға негізделген файл жүйесін қолданады. Көптеген файл пішімдерінде жол аяқтағыштары сақталмайды. CDC 6000 сериясының операциялық жүйелері жаңа жолды 60 биттік сөздің соңында екі немесе одан да көп нөлдік алты биттік таңба ретінде анықтады. Кейбір конфигурациялар нөлдік таңбаны қос нүктелі таңба ретінде анықтады, нәтижесінде позицияға байланысты бірнеше қос нүктелер жаңа жол ретінде түсіндірілуі мүмкін. RSX 11 және OpenVMS сондай-ақ мәтіндік файлдарды бір жолға бір жазба ретінде сақтайтын жазбаға негізделген файл жүйесін қолданады. Көптеген файл пішімдерінде жол аяқтағыштары сақталмайды, бірақ Record Management Services мүмкіндігі қолданбамен алынған кезде әр жолға аяқтағышты қосуға мүмкіндік береді. Жазбалардың өзінде бірдей жол аяқтағыштары болуы мүмкін, бұл қолданбаға байланысты ерекшелік немесе қиындық ретінде қарастырылуы мүмкін. RMS жазбаларды ғана емес, сонымен қатар файлды одан да күрделі ету үшін жазба бөлігіштері туралы метадеректерді әртүрлі биттерде сақтайды (файлдарда белгіленген ұзындығы бар жазбалар, санаумен немесе белгілі бір таңбамен аяқталатын жазбалар болуы мүмкін). Биттер жалпы емес, сондықтан олар немесе тіпті жаңа жол аяқтағышын көрсете алады, бірақ олар басқа кодты алмастыра алмайды. Белгілі бір ұзындығы бар жол кейбір ерте негізгі жүйелердің операциялық жүйелерімен қолданылды. Мұндай жүйеде, мысалы, әр 72 немесе 80 таңбадан кейін жолдың соңы болжалды. Жаңа жол таңбасы сақталмады. Егер файл сыртқы әлемнен импортталған болса, онда жол ұзындығынан қысқа жолдар бос орындармен толтырылуы керек, ал жол ұзындығынан ұзын жолдар қысқартылуы керек. Бұл әр жолы бөлек картада сақталатын, әдетте әр картада 80 баған бар, көбінесе 73-80 бағандардағы реттік нөмірлермен соққыланған карталарды пайдалануды еліктеді. Бұл жүйелердің көпшілігі келесі жазбаның басына тасымалдауды басқару таңбасын қосты; бұл келесі жазба алдыңғы жазбамен басталған жолдың жалғасы немесе жаңа жол екенін немесе алдыңғы жолды басып шығару керектігін көрсете алады ( сияқты). Көбінесе бұл қалыпты баспа таңбасы, сондықтан оны жолдың бірінші таңбасы ретінде қолдануға болмайды. Алғашқы баспагерлер осы таңбаларды оларға жіберілген жазбаларда тікелей түсіндірді.
EBCDIC systems—mainly IBM mainframe systems, including z/OS (OS/390) and IBM i (OS/400)—use (New Line, ) as the character combining the functions of line feed and carriage return. The equivalent Unicode character is called (Next Line). EBCDIC also has control characters called and , but the numerical value of differs from the one used by ASCII Additionally, some EBCDIC variants also use but assign a different numeric code to the character. However, those operating systems use a record based file system, which stores text files as one record per line. In most file formats, no line terminators are actually stored. Operating systems for the CDC 6000 series defined a newline as two or more zero valued six bit characters at the end of a 60 bit word. Some configurations also defined a zero valued character as a colon character, with the result that multiple colons could be interpreted as a newline depending on position. RSX 11 and OpenVMS also use a record based file system, which stores text files as one record per line. In most file formats, no line terminators are actually stored, but the Record Management Services facility can transparently add a terminator to each line when it is retrieved by an application. The records themselves can contain the same line terminator characters, which can either be considered a feature or a nuisance depending on the application. RMS not only stores records, but also stores metadata about the record separators in different bits for the file to complicate matters even more (since files can have fixed length records, records that are prefixed by a count or records that are terminated by a specific character). The bits are not generic, so while they can specify that or or even is the line terminator, they can not substitute some other code. Fixed line length was used by some early mainframe operating systems. In such a system, an implicit end of line was assumed every 72 or 80 characters, for example. No newline character was stored. If a file was imported from the outside world, lines shorter than the line length had to be padded with spaces, while lines longer than the line length had to be truncated. This mimicked the use of punched cards, on which each line was stored on a separate card, usually with 80 columns on each card, often with sequence numbers in columns 73–80. Many of these systems added a carriage control character to the start of the next record; this could indicate whether the next record was a continuation of the line started by the previous record, or a new line, or should overprint the previous line (similar to a ). Often this was a normal printing character such as that thus could not be used as the first character in a line. Some early line printers interpreted these characters directly in the records sent to them.
Байланыс протоколдары
Көптеген байланыс протоколдарында жаңа жол туралы белгілі бір ережелер болады. Атап айтқанда, Интернет-инженерлік тобы (IETF) жариялаған протоколдар көбінесе ASCII CRLF тізбегін пайдаланады. Кейбір ескі протоколдарда жаңа жолдан кейін бақылау сомасы немесе паритет символы келуі мүмкін.
Many communications protocols have some sort of new line convention. In particular, protocols published by the Internet Engineering Task Force (IETF) typically use the ASCII CRLF sequence. In some older protocols, the new line may be followed by a checksum or parity character.
Жаңа жолдар пішімдерімен байланысты мәселелер
Жаңа жолдардың әртүрлі форматтары әртүрлі жүйелер арасында жіберілген мәтін файлдарын дұрыс көрсетілмеуіне себеп болады. Unix немесе классикалық Mac OS жүйелерінде жиі қолданылатын бағдарламалармен жасалған мәтін файлдары MS DOS және Microsoft Windows жүйелеріндегі көптеген бағдарламаларда бір ұзын жол ретінде көрсетіледі, себебі олар бір немесе бір жаңа жол символын жолдың соңы ретінде танымайды. Керісінше, Windows жүйесінде жасалған файлды Unix сияқты жүйеде қарағанда, қосымша жаңа жол символы екінші жолдың басы ретінде, немесе әр жолдың соңында пайда болуы мүмкін. Сонымен қатар, мәтіндік редакторлардан басқа бағдарламалар, мысалы, кейбір конфигурациялық файлдар, шетелдік жаңа жол форматтарымен кодталған файлдарды жарамсыз деп тануы мүмкін. Бұл мәселені анықтау қиын, себебі кейбір бағдарламалар жаңа жолдарды дұрыс өңдейді, ал басқалары – дұрыс емес. Мысалы, компилятор көзге көрінбейтін синтаксистік қателер шығаруы мүмкін, тіпті бастапқы файл консольде немесе редакторда дұрыс көрсетілсе де. Қазіргі заманғы мәтіндік редакторлар әдетте жаңа жолдардың барлық түрлерін таниды және пайдаланушыларға әртүрлі стандарттар арасында түрлендіруге мүмкіндік береді. Веб-браузерлер де мәтіндік файлдарды және жаңа жолдардың әртүрлі түрлерін қолданатын веб-сайттарды көрсетуге қабілетті. Бағдарлама әртүрлі жаңа жол форматтарын қолдаса да, бұл мүмкіндіктер көбінесе жеткілікті түрде белгіленбейді, сипатталмайды немесе құжатталмайды. Әдетте, жаңа жолдарды қайта интерпретациялау, уақытша түрлендіру немесе тұрақты түрлендіру туралы ешқандай ақпаратсыз, әртүрлі жаңа жол форматтарын тізімдейтін мәзір немесе таңдау тізімі көрсетіледі. Кейбір бағдарламалар файлды ашқанда, көшіргенде, қойғанда немесе сақтағанда автоматты түрде түрлендіруді жүзеге асырады – көбінесе үлкен дәлдіксіздіктермен. Көптеген мәтіндік интернет-протоколдары (HTTP, SMTP, FTP, IRC және т.б.) протокол деңгейінде ASCII + (, ) қолдануды талап етеді, бірақ толерантты қосымшалар жалғыз (, ) символын да тануды ұсынады. Стандарт талаптарына қарамастан, көптеген қосымшалар кері қайтару және жаңа жол символының (+) дұрыс комбинациясы орнына C жаңа жол символын қате қолданады (жоғарыда бағдарламалау тілдеріндегі жаңа жолдар туралы бөлімді қараңыз). Бұл қателіктердің салдарынан, стандарттардың ұсынылған толерантты интерпретациясының орнына қатаң интерпретациясын қолданатын жүйелермен байланыс орнату кезінде проблемалар туындауы мүмкін. Мұндай төзімсіз жүйелердің бірі – qmail пошта беру агенті, ол қажетті + символының орнына жалғыз жаңа жол символын жіберген жүйелерден хабарламаларды қабылдаудан бас тартады. Электрондық поштаның стандартты интернет-форматында: "CR және LF тек CRLF түрінде бірге болуы керек; олар хабарламаның мәтінінде жеке-жеке пайда болмауы керек". SMTP-іске асыруларындағы LF және/немесе CR символдарын өңдеудегі айырмашылықтар "SMTP контрабандасы" деп аталатын шабуылдарға әкеліп соқты. Файлдарды беру протоколы файлдарды әртүрлі жаңа жол форматтарын қолданатын жүйелер арасында беру кезінде жаңа жолдарды автоматты түрде түрлендіре алады. Алайда, екілік файлдарды осы режимде беру көбінесе апатты нәтижелерге әкеледі: жаңа жол байт тізбегінің кез келген пайда болуы (бұл жағдайда жолтың соңына қатысты емес, тек байттардың қалыпты тізбегінің бөлігі) басқа жүйе қолданатын жаңа жол форматтарына түрлендіріледі, нәтижесінде файл бұзылады. FTP клиенттері көбінесе автоматты түрде екілік немесе ASCII режимін таңдау үшін кейбір эвристикалық әдістерді қолданады (мысалы, файл атауының кеңейтілмесін тексеру), бірақ соңында файлдардың дұрыс режимде берілуіне көз жеткізу пайдаланушының міндеті болып табылады. Егер дұрыс режимге күмән болса, екілік режимді пайдалану керек, себебі FTP файлдарды өзгертпейді, бірақ олар дұрыс көрсетілмеуі мүмкін.
The different newline conventions cause text files that have been transferred between systems of different types to be displayed incorrectly. Text in files created with programs which are common on Unix like or classic Mac OS, appear as a single long line on most programs common to MS DOS and Microsoft Windows because these do not display a single or a single as a line break. Conversely, when viewing a file originating from a Windows computer on a Unix like system, the extra may be displayed as a second line break, as , or as at the end of each line. Furthermore, programs other than text editors may not accept a file, e. g. some configuration file, encoded using the foreign newline convention, as a valid file. The problem can be hard to spot because some programs handle the foreign newlines properly while others do not. For example, a compiler may fail with obscure syntax errors even though the source file looks correct when displayed on the console or in an editor. Modern text editors generally recognize all flavours of + newlines and allow users to convert between the different standards. Web browsers are usually also capable of displaying text files and websites which use different types of newlines. Even if a program supports different newline conventions, these features are often not sufficiently labeled, described, or documented. Typically a menu or combo box enumerating different newline conventions will be displayed to users without an indication if the selection will re interpret, temporarily convert, or permanently convert the newlines. Some programs will implicitly convert on open, copy, paste, or save—often inconsistently. Most textual Internet protocols (including HTTP, SMTP, FTP, IRC, and many others) mandate the use of ASCII + (, ) on the protocol level, but recommend that tolerant applications recognize lone (, ) as well. Despite the dictated standard, many applications erroneously use the C newline escape sequence instead of the correct combination of carriage return escape and newline escape sequences (+) (see section Newline in programming languages above). This accidental use of the wrong escape sequences leads to problems when trying to communicate with systems adhering to the stricter interpretation of the standards instead of the suggested tolerant interpretation. One such intolerant system is the qmail mail transfer agent that actively refuses to accept messages from systems that send bare instead of the required +. The standard Internet Message Format for email states: "CR and LF MUST only occur together as CRLF; they MUST NOT appear independently in the body". Differences between SMTP implementations in how they treat bare LF and/or bare CR characters have led to SMTP spoofing attacks referred to as "SMTP smuggling". The File Transfer Protocol can automatically convert newlines in files being transferred between systems with different newline representations when the transfer is done in "ASCII mode". However, transferring binary files in this mode usually has disastrous results: any occurrence of the newline byte sequence—which does not have line terminator semantics in this context, but is just part of a normal sequence of bytes—will be translated to whatever newline representation the other system uses, effectively corrupting the file. FTP clients often employ some heuristics (for example, inspection of filename extensions) to automatically select either binary or ASCII mode, but in the end it is up to users to make sure their files are transferred in the correct mode. If there is any doubt as to the correct mode, binary mode should be used, as then no files will be altered by FTP, though they may display incorrectly.
Интерпретация
Жаңа жолдарды қарастырудың екі түрі бар, екеуі де өзіне сәйкес келеді: жаңа жолдар жолдарды бөледі немесе жолдарды аяқтайды. Егер жаңа жол бөлгіш деп есептелсе, файлдың соңғы жолынан кейін жаңа жол болмайды. Кейбір бағдарламалар файлдың соңғы жолы жаңа жолмен аяқталмаса, оны өңдеуде қиындықтар туындатады. Ал, жаңа жолды бөлгіш ретінде күтетін бағдарламалар соңғы жаңа жолды жаңа (бос) жолдың басталуы ретінде қабылдайды. Керісінше, егер жаңа жол аяқтаушы белгі деп есептелсе, соңғы жол қоса алғанда, барлық мәтін жолдары жаңа жолмен аяқталуы керек. Егер мәтіндік файлдың соңғы таңбалар тізбегі жаңа жол болмаса, файлдың соңғы жолы бұрыс немесе толық емес мәтін жолы деп есептелуі мүмкін, немесе файл дұрыс емес қысқартылған деп танылуы мүмкін. Адамдарға арналған және сөздерді автоматты түрде жаңа жолға көшіретін бағдарламалық құралдармен оқылатын мәтінде, жаңа жол символы әдетте тек қана қажет болған жағдайда ғана сақталады – мысалы, абзацтар арасында немесе тік тізімдерде, келесі сөз сол жолға сыйып қоймаған жағдайда да. Сондықтан, мәтін өңдеу және көптеген мәтін редакторларында жаңа жол абзацты бөлу үшін қолданылады және «қатты жолға көшіру» деп аталады, бұл сөздерді жаңа жолға көшіру үшін динамикалық түрде жасалатын және әрбір көрсету кезінде өзгеретін «жұмсақ жолға көшіруден» өзгеше. Көптеген қолданбаларда бір абзацтың ішінде жолдың үзілуін мәжбүрлеу үшін «қолмен жолға көшіру» деп аталатын жеке басқару символы бар. Қатты жолға көшірудің символы әдетте pilcrow (¶) болып келеді, ал қолмен жолға көшіру үшін көбінесе тасымалдау жебесі (↵) қолданылады.
Two ways to view newlines, both of which are self consistent, are that newlines either separate lines or that they terminate lines. If a newline is considered a separator, there will be no newline after the last line of a file. Some programs have problems processing the last line of a file if it is not terminated by a newline. On the other hand, programs that expect newline to be used as a separator will interpret a final newline as starting a new (empty) line. Conversely, if a newline is considered a terminator, all text lines including the last are expected to be terminated by a newline. If the final character sequence in a text file is not a newline, the final line of the file may be considered to be an improper or incomplete text line, or the file may be considered to be improperly truncated. In text intended primarily to be read by humans using software which implements the word wrap feature, a newline character typically only needs to be stored if a line break is required independent of whether the next word would fit on the same line, such as between paragraphs and in vertical lists. Therefore, in the logic of word processing and most text editors, newline is used as a paragraph break and is known as a "hard return", in contrast to "soft returns" which are dynamically created to implement word wrapping and are changeable with each display instance. In many applications a separate control character called "manual line break" exists for forcing line breaks inside a single paragraph. The glyph for the control character for a hard return is usually a pilcrow (¶), and for the manual line break is usually a carriage return arrow (↵).
Кері және жартылай желілік қоректендірулер
(U+008D REVERSE LINE FEED, ISO/IEC 6429 8D, ондық 141) баспа орнын бір жолға кері жылжыту үшін қолданылады (қағазды кері итеру арқылы немесе дисплейдегі курсорды бір жолға жоғары жылжыту арқылы), соның арқасында басқа таңбаларды қолданыстағы мәтіннің үстіне басуға болады. Мұны оларды қалың ету үшін, немесе астын сызу, сызып тастау немесе диакритика сияқты басқа таңбаларды қосу үшін жасауға болады. Сол сияқты (U+008B PARTIAL LINE FORWARD, ондық 139) және (U+008C PARTIAL LINE BACKWARD, ондық 140) мәтінді басып шығару орнын тік сызық аралығының белгілі бір бөлігіне (әдетте, жартысына) жылжыту немесе кері жылжыту үшін пайдаланылуы мүмкін. Бұларды индекстер (алға жылжытып, содан кейін кері жылжыту арқылы) және суперскрипттер (кері жылжытып, содан кейін алға жылжыту арқылы) үшін біріктіріп қолдануға болады, сондай-ақ диакритикалық таңбаларды басып шығару үшін де пайдалы.
(U+008D REVERSE LINE FEED, ISO/IEC 6429 8D, decimal 141) is used to move the printing position back one line (by reverse feeding the paper, or by moving a display cursor up one line) so that other characters may be printed over existing text. This may be done to make them bolder, or to add underlines, strike throughs or other characters such as diacritics. Similarly, (U+008B PARTIAL LINE FORWARD, decimal 139) and (U+008C PARTIAL LINE BACKWARD, decimal 140) can be used to advance or reverse the text printing position by some fraction of the vertical line spacing (typically, half). These can be used in combination for subscripts (by advancing and then reversing) and superscripts (by reversing and then advancing), and may also be useful for printing diacritics.