Кіріспе
Кеңістікті білдіретін компьютерлік мәтін файлының символы. Кеңістік символы – компьютерде мәтін көрсетілген кезде кеңістікті білдіретін таңбалық дерек элементі. Мысалы, кеңістік символы (, ASCII 32) батыс жазу жүйесінде сөздерді бөлу сияқты кеңістікті білдіреді. Көрсетілетін символ рендеринг кезінде шығыс береді, бірақ кеңістік символы шығыс бермейді. Оның орнына кеңістік символы мәтіннің орналасуын белгілі бір шекте анықтайды, символдардың қатар рендерингтің қалыпты тізбегін бұзады. Келесі символдардың шығысы әдетте оңға (немесе оңдан солға жазу үшін солға) немесе келесі жолдың басына жылдырылады. Бірнеше тізбектелген кеңістік символының әсері жинақталады, яғни келесі көрсетілетін символ алдыңғы кеңістік символдарының жинақталған әсеріне сәйкес орналасады. "Кеңістік" термині мәтінді ақ қағазға шығарудың дәстүрлі тәжірибесінен туындаған. Әдетте, кеңістік символы ақ түспен көрсетілмейді. Ол рендерингке әсер етеді, бірақ өзі рендерингтелмейді.
A whitespace character is a character data element that represents white space when text is
rendered for display by a computer. For example, a space character (, ASCII 32) represents blank space such as a word divider in a Western script. A printable character results in output when rendered,
but a whitespace character does not. Instead, whitespace characters define the layout of text to a limited degree interrupting the normal sequence of rendering characters next to each other. The output of subsequent characters is typically shifted to the right (or to the left for right to left script) or to the start of the next line. The effect of multiple sequential whitespace characters is cumulative such that the next printable character is rendered in a location based on the accumulated effect of preceding whitespace characters. The term whitespace is rooting in the common practice of rendering text on white paper. Normally, a whitespace character is not rendered as white. It affects rendering, but it is not itself rendered.
Шолу
Бос орын символы әдетте әріп еніне шамалас көлденең бос орын қосады. Бір қаріпті қаріптер үшін ені – әріп енімен тең, ал өзгермелі ені бар қаріптер үшін ені – қаріпке тән. Кейбір қаріптер әртүрлі ені бар бірнеше бос орын символдарына қолдау көрсетеді. Табуляция символы әдетте қолданбаларға байланысты өзгеретін табуляциялық тоқталымдарға негізделген көлденең бос орын қосады. Жаңа жол символдары тізбегі әдетте көрсету нәтижесін келесі жолдың басына жылжытады. Егер ол мәтіннен кейін келсе, ол шынымен бос орынға әкелмейді. Бірақ, мәтін блоктары арасындағы екі жаңа жол тізбегі блоктар арасында бос жол құрайды. Бос жолдың биіктігі қолданбаға байланысты өзгереді. Мәтінді орналастыру үшін бос орын символдары қолдану – бұл қағида. Кейде қолданбалар бос орын символдарын көрінетін белгілеу ретінде көрсетеді, сонда пайдаланушы әдетте көрінбейтін нәрсені көре алады. Әдетте, пайдаланушы бос орын символын басу арқылы, табуляция символын басу арқылы және жаңа жолды басу арқылы жазады.
Юникод
Төмендегі кестеде Unicode Character Database-дегі бос орын ("WSpace=Y", "WS") деп анықталған жиырма бес таңба тізімі келтірілген. Олардың он жетісі екі жақты жазу алгоритміне сәйкес бос орын анықтамасын пайдаланады ("Екі жақты таңба түрі=WS") және "Bidi WS" таңбалары деп белгіленеді. Қалған таңбаларды да қолдануға болады, бірақ олар осы "Bidi" түріне жатпайды. Ескерту: Төмендегі кестеде қолданылған шолғыш пен қаріптерге байланысты барлық бос орындар дұрыс көрсетілмеуі мүмкін.
Экранға түсіру
Мәтін редакторлары, сөз өңдеушілер және үстелдік басылым бағдарламалық жасақтамасы экрандағы бос кеңістікті және экран немесе бағана енінен ұзын жолдардың соңындағы бос орындарды қалай көрсетуде әртүрлі. Кейбір жағдайларда бос орындар қарапайым бос кеңістік ретінде көрсетіледі, ал басқа жағдайларда олар нүкте немесе басқа символдармен бейнеленуі мүмкін. Бос орындар жасау үшін көптеген әртүрлі таңбаларды (төменде сипатталған) пайдалануға болады, сондай-ақ таңба емес функциялар (мысалы, жиектер мен табуляция параметрлері) бос кеңістікке әсер етуі мүмкін. Unicode бос кеңістік таңбаларының көпшілігі классикалық баспа типографиясымен үйлесімділік үшін жасалған. Цифрлық типография алгоритмдік кернинг пен теңдестіруге ие болса да, қажет болған жағдайда осы бос кеңістік таңбаларын электрондық форматтауды толықтыру үшін қолдануға болады.
Түрлі ені бар жалпы мақсаттағы кеңістік
Компьютерлік таңба кодтамаларында қаріптің дизайнына қарай ені өзгеретін, жалпы мақсаттағы кеңістік (Unicode U+0020 таңбасы) бар. Әдеттегі мәндер 1/5 em-нен 1/3 em-ге дейін ауыспайды (цифрлық типографияда em қаріптің номиналды мөлшерімен тең, сондықтан 10 пункттік қаріп үшін кеңістік шамамен 2 мен 3,3 пункт аралығында болады). Күрделі қаріптерде қалың, курсив және кіші әріптерге арналған кеңістіктердің әртүрлі өлшемдері болуы мүмкін, ал композиторлар көбінесе мәтіннің мөлшері мен айқындығына байланысты кеңістіктің енін қолмен реттейді. Бұл жалпы мақсаттағы кеңістікке қосымша, белгілі бір ені бар кеңістікті кодтауға болады. Толық тізім төмендегі кестеде келтірілген.
Бағдарламалау тілдері
Көптеген бағдарламалау тілдерінің синтаксисінде бос орын белгілерін жекелеу үшін қолдануға болады. Еркін пішімді тіл үшін бос орын белгілерін кодты өңдеушілер (яғни, компилятор) назарға алмайды. Тілдің синтаксисі бос орынды талап еткен жағдайда да, көбінесе бірнеше бос орын белгісі бір белгі ретінде қарастырылады. Ішкі жиек ережесі бар тілдерде, кірістірудегі бос орын синтаксистік маңызға ие. "Whitespace" деп аталатын сатиралық және кері тілде, бос орын белгілері ғана маңызды, ал қалыпты мәтін елеусіз қалдырылады. Бастапқы кодта бос орынды тиімді пайдалану байланысты логиканы біріктіре алады және кодты түсінуді жеңілдетеді. Бос орынды артық пайдалану, әсіресе жолдың соңында, онда ол көрсету әрекетін қамтамасыз етпейді, қолайсыздық деп есептеледі. Көптеген тілдер тек ASCII коды бар бос орын белгілерін ғана таниды. Олар жоғарыда тізілген Unicode кодтарының көпшілігін немесе барлығын қабылдамайды. C тілі бос орын белгілерін "бос орын, көлденең табу, жаңа жол, тік табу және формалық беру" деп анықтайды. HTTP желілік протоколы протоколдың әртүрлі бөліктерінде әртүрлі типтегі бос орындарды пайдалануды талап етеді, мысалы: күй жолында тек бос орын белгісі, жолдың соңында CRLF және тақырыптардағы "сызықтық бос орын".
Белгілеу тілдері
Кейбір таңбалау тілдері, мысалы SGML, жазылғандай бос орынды сақтайды. XML және HTML сияқты веб-маркажа тілдері бағдарламашылардың ыңғайлылығы үшін бос орын сияқты таңбаларды ерекше қарастырады. Аталған маркажа тілдерінің сәйкес келетін дисплейлік процессорлары оқитын бір немесе бірнеше бос орын таңбалары семантикалық контекстіне байланысты 0 немесе 1 бос орынға дейін жиырылады. Мысалы, мәтін ішіндегі екі (немесе одан көп) бос орын бір бос орынға дейін жиырылады, ал атрибут атауын оның мәнінен бөлетін "=" белгісінің екі жағындағы бос орындар құжатты түсіндіруге әсер етпейді. Элементтердің жабылу тегтерінде соңғы бос орындар болуы мүмкін, ал XML-дегі бос элементтердің тегтерінде "/>" алдында бос орындар болуы мүмкін. Бұл тілдерде қажетсіз бос орын файлдың көлемін ұлғайтады, демек, желілік жүктемелерді баяулатады. Екінші жағынан, қажетсіз бос орындар кодтағы түсініктемелерге ұқсас, бірақ олардан аз байқалады. Бұл көшіру және қою арқылы жасалған лицензияны немесе авторлық құқықты бұзуды дәлелдеу үшін пайдалы болуы мүмкін. XML атрибуттарының мәндерінде, талдаушы құжатты оқығанда бос орын таңбаларының тізбектері бір бос орын ретінде қарастырылады. XML элементтерінің мазмұнындағы бос орындар талдаушымен осылай өгертілмейді, бірақ талдаушыдан ақпарат алатын қосымша элемент мазмұнына ұқсас ережелерді қолдануды таңдауы мүмкін. XML құжатының авторы xml:space="preserve" атрибутын элементте пайдалану арқылы талдаушыға осы элементтің мазмұнындағы бос орындарды өгертуден аулақ болуын ұсынуы мүмкін. HTML элементтерінің көпшілігінде бос орын таңбаларының тізбегі бір сөз аралық бөлгіш ретінде қарастырылады, бұл әдетте сөздердің арасына осындай бос орын қосатын тілде мәтінді көрсету кезінде бір бос орын таңбасы ретінде көрінеді. HTML рендерлері сәйкес болуы тиіс және бірнеше белгіленген элементтерде, мысалы <pre> тегінде және CSS арқылы осыған ұқсас бос орынды өңдеуге қолданған кез келген элементте бос орындарды тура мағынасында өңдеуі керек. Мұндай элементтерде бос орын таңбалары сөз аралық бөлгіштерге дейін жиырылмайды. XML және HTML-де де, үздірілмейтін бос орын таңбасы және басқа да "стандартты емес" бос орындар жиырылатын "бос орын" ретінде қарастырылмайды, сондықтан жоғарыдағы ережелерге бағынбайды.
Файл атаулары
Мұндай қолданыс операциялық жүйелер мен қолданбалар үшін жазылған көп сөзді файл атауларына ұқсас, олар ішкі бос орын кодтарынан шатастырылады. Мұндай файл атаулары сөзді бөлу үшін төменгі сызықты ( _ ) қолданады, мысалы, осы фразада. Тағы бір осындай символ – бұл компьютерлік бағдарламалаудың алғашқы жылдарында кодтау формаларына жазғанда қолданылған. Перфокарта операторлары осы символды "нақты бос орын" деп бірден танитын. Ол BCDIC, EBCDIC және ASCII 1963 стандартында қолданылды.