Mercurial > hg > nginx-site
changeset 2316:3a8d96efece6
Translated String object into Russian in njs.
author | Yaroslav Zhuravlev <yar@nginx.com> |
---|---|
date | Thu, 29 Nov 2018 19:38:29 +0300 |
parents | ae56e4613280 |
children | 0aaa69eab2ca |
files | xml/ru/docs/njs/reference.xml |
diffstat | 1 files changed, 461 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/xml/ru/docs/njs/reference.xml Tue Dec 25 17:27:37 2018 +0300 +++ b/xml/ru/docs/njs/reference.xml Thu Nov 29 19:38:29 2018 +0300 @@ -463,5 +463,466 @@ </section> + +<section id="core" name="Core"> + + +<section id="string" name="Строка"> + +<para> +В njs существует два типа строк: строка Unicode (по умолчанию) и +байтовая строка. +</para> + +<para> +Строка Unicode соответствует строке ECMAScript, +содержащей символы Unicode. +</para> + +<para> +Байтовые строки содержат последовательность байт и +используются для сериализации строк Unicode +во внешние данные и десериализации из внешних источников. +Например метод <link id="string_toutf8">toUTF8()</link> сериализует +строку Unicode в байтовую строку используя кодировку UTF8: +<example> +>> '£'.toUTF8().toString('hex') +'c2a3' /* C2 A3 является UTF8-представлением codepoint 00A3 ('£') */ +</example> +Метод <link id="string_tobytes">toBytes()</link> сериализует +строку Unicode с codepoints до 255 в байтовую строку, +в противном случае возвращается <literal>null</literal>: +<example> +>> '£'.toBytes().toString('hex') +'a3' /* a3 является байтом, равным codepoint 00A3 ('£') */ +</example> +В различные кодировки могут быть преобразованы только байтовые строки. +Например строка не может быть кодирована напрямую в <literal>hex</literal>: +<example> +>> 'αβγδ'.toString('base64') +TypeError: argument must be a byte string + at String.prototype.toString (native) + at main (native) +</example> +Чтобы преобразовать строку Unicode в hex, +сначала необходимо её преобразовать в байтовую строку и затем в hex: +<example> +>> 'αβγδ'.toUTF8().toString('base64') +'zrHOss6zzrQ=' +</example> + +<list type="tag"> + +<tag-name id="string_bytesfrom"><literal>String.bytesFrom(<value>массив</value> +| <value>строка</value>, <value>кодировка</value>)</literal></tag-name> +<tag-desc> +(только в njs) Создаёт байтовую строку или из массива, содержащего октеты, +или из кодированной строки +(<link doc="../njs/changes.xml" id="njs0.2.3">0.2.3</link>). +Кодировкой может быть +<literal>hex</literal>, +<literal>base64</literal> и +<literal>base64url</literal>. +<example> +>> String.bytesFrom([0x62, 0x75, 0x66, 0x66, 0x65, 0x72]) +'buffer' + +>> String.bytesFrom('YnVmZmVy', 'base64') +'buffer' +</example> +</tag-desc> + +<tag-name id="string_fromcharcode"><literal>String.fromCharCode(<value>CharCode1</value>[, ...[, +<value>CharCodeN</value>]])</literal></tag-name> +<tag-desc> +Возвращает строку из одной или более Unicode codepoints. +<example> +>> String.fromCharCode(97, 98, 99, 100) +'abcd' +</example> +</tag-desc> + +<tag-name id="string_fromcodepoint"><literal>String.fromCodePoint(<value>codePoint1</value>[, ...[, +<value>codePoint2</value>]])</literal></tag-name> +<tag-desc> +Возвращает строку из одной или более Unicode codepoints. +<example> +>> String.fromCodePoint(97, 98, 99, 100) +'abcd' +</example> +</tag-desc> + +<tag-name id="string_charat"><literal>String.prototype.charAt(<value>индекс</value>)</literal></tag-name> +<tag-desc> +Возвращает строку, представляющую одну кодовую единицу Unicode +внутри указанного <literal>индекса</literal>; +пустая строка, если индекс вне диапазона значений. +Индекс может быть числом +между 0 и длиной строки минус 1. +Если индекс не указан, то значение по умолчанию равно <literal>0</literal>, +т.е. возвращается первый символ в строке. +</tag-desc> + +<tag-name id="string_codepointat"><literal>String.prototype.CodePointAt(<value>позиция</value>)</literal></tag-name> +<tag-desc> +Возвращает число, представляющее codepoint-значение символа +в пределах указанной <literal>позиции</literal>; +<literal>undefined</literal>, если элемент в позиции отсутствует. +<example> +>> 'ABCD'.codePointAt(3); +68 +</example> +</tag-desc> + +<tag-name id="string_concat"><literal>String.prototype.concat(<value>строка1</value>[, ..., +<value>строкаN</value>])</literal></tag-name> +<tag-desc> +Возвращает строку, содержающую результат объединения указанных +<literal>строк</literal>. +<example> +>> "a".concat("b", "c") +'abc' +</example> +</tag-desc> + +<tag-name id="string_endswith"><literal>String.prototype.endsWith(<value>ПоисковаяСтрока</value>[, +<value>длина</value>])</literal></tag-name> +<tag-desc> +Возвращает <literal>true</literal>, если строка заканчивается символами +указанной строки, иначе <literal>false</literal>. +Необязательный параметр <literal>длина</literal> задаёт длину строки. +Если <value>ПоисковаяСтрока</value> не указана, +значением по умолчанию является длина строки. +<example> +>> 'abc'.endsWith('abc') +true +>> 'abca'.endsWith('abc') +false +</example> +</tag-desc> + +<tag-name id="string_frombytes"><literal>String.prototype.fromBytes(<value>начало</value>[, +<value>конец</value>])</literal></tag-name> +<tag-desc> +(только в njs) Возвращает новую строку Unicode из байтовой строки, +в которой каждый байт заменяется соответствующей Unicode codepoint. +</tag-desc> + +<tag-name id="string_fromutf8"><literal>String.prototype.fromUTF8(<value>начало</value>[, +<value>конец</value>])</literal></tag-name> +<tag-desc> +(только в njs) Преобразует байтовую строку, содержащую валидную строку UTF8, +в строку Unicode, +иначе возвращается <literal>null</literal>. +</tag-desc> + +<tag-name id="string_includes"><literal>String.prototype.includes(<value>поисковаяСтрока</value>[, +<value>позиция</value>]))</literal></tag-name> +<tag-desc> +Возвращает <literal>true</literal>, если строка ищется внутри другой строки, +иначе <literal>false</literal>. +Необязательный параметр <literal>позиция</literal> задаёт позицию +внутри строки, от которой начинается поиск для <literal>поисковойСтроки</literal>. +Значение по умолчанию равно 0. +<example> +>> 'abc'.includes('bc') +true +</example> +</tag-desc> + +<tag-name id="string_indexof"><literal>String.prototype.indexOf(<value>поисковаяСтрока</value>[, +<value>fromIndex</value>])</literal></tag-name> +<tag-desc> +Возвращает позицию первого появления +<literal>поисковойСтроки</literal>. +Поиск начинается с <literal>fromIndex</literal>. +Возвращает <value>-1</value>, если значение не найдено. +<literal>fromIndex</literal> является числом, +значение по умолчанию равно 0. +Если <literal>fromIndex</literal> меньше, чем 0 +или больше, чем +<link id="string_length">String.prototype.length</link><value></value>, +поиск начнётся на индексе <value>0</value> и +<value>String.prototype.length</value>. +<example> +>> 'abcdef'.indexOf('de', 2) +3 +</example> +</tag-desc> + +<tag-name id="string_lastindexof"><literal>String.prototype.lastIndexOf(<value>поисковаяСтрока</value>[, +<value>fromIndex</value>])</literal></tag-name> +<tag-desc> +Возвращает позицию последнего появления +of the <literal>поисковойСтроки</literal>, +поиск осуществляется в обратном порядке от <literal>fromIndex</literal>. +Возвращает <value>-1</value>, если значение не найдено. +Если значение <literal>поисковойСтроки</literal> пустое, +то возвращается <literal>fromIndex</literal>. +<example> +>> "nginx".lastIndexOf("gi") +1 +</example> +</tag-desc> + +<tag-name id="string_length"><literal>String.prototype.length</literal></tag-name> +<tag-desc> +Возвращает длину строки. +<example> +>> 'αβγδ'.length +4 +</example> +</tag-desc> + +<tag-name id="string_match"><literal>String.prototype.match([<value>регулярноеВыражение</value>])</literal></tag-name> +<tag-desc> +Возвращает совпадение при сопоставлении строки с +регулярным выражением. +<example> +>> 'nginx'.match( /ng/i ) +'ng' +</example> +</tag-desc> + +<tag-name id="string_padend"><literal>String.prototype.padEnd(<value>длина</value> +[, <value>строка</value>])</literal></tag-name> +<tag-desc> +Возвращает строку указанной длины, +добавляя строку в конец указанной +строки (<link doc="../njs/changes.xml" id="njs0.2.3">0.2.3</link>). +<example> +>> '1234'.padEnd(8, 'abcd') +'1234abcd' +</example> +</tag-desc> + +<tag-name id="string_padstart"><literal>String.prototype.padStart(<value>длина</value> +[, <value>строка</value>])</literal></tag-name> +<tag-desc> +Возвращает строку указанной длины, +добавляя строку к началу указанной +строки (<link doc="../njs/changes.xml" id="njs0.2.3">0.2.3</link>). +<example> +>> '1234'.padStart(8, 'abcd') +'abcd1234' +</example> +</tag-desc> + +<tag-name id="string_repeat"><literal>String.prototype.repeat(<value>число</value>)</literal></tag-name> +<tag-desc> +Возвращает строку +с указанным числом копий строки. +<example> +>> 'abc'.repeat(3) +'abcabcabc' +</example> +</tag-desc> + +<tag-name id="string_replace"><literal>String.prototype.replace([<value>регулярноеВыражение</value>|<value>string</value>[, +<value>string</value>|<value>function</value>]])</literal></tag-name> +<tag-desc> +Возвращает новую строку, которая сопоставляется со +строкой или регулярным выражением, +и заменяется на <literal>строку</literal> или <literal>функцию</literal>. +<example> +>> 'abcdefgh'.replace('d', 1) +'abc1efgh' +</example> +</tag-desc> + +<tag-name id="string_search"><literal>String.prototype.search([<value>регулярноеВыражение</value>])</literal></tag-name> +<tag-desc> +Осуществляет поиск строки при помощи регулярного выражения. +<example> +>> 'abcdefgh'.search('def') +3 +</example> +</tag-desc> + +<tag-name id="string_slice"><literal>String.prototype.slice(<value>начало</value>[, +<value>конец</value>])</literal></tag-name> +<tag-desc> +Возвращает новую строку, содержащую часть +исходной строки между <literal>началом</literal> +и <literal>концом</literal> или +от <literal>начала</literal> до конца строки. +<example> +>> 'abcdefghijklmno'.slice(NaN, 5) +'abcde' +</example> +</tag-desc> + +<tag-name id="string_split"><literal>String.prototype.split(([<value>строка</value>|<value>регулярноеВыражение</value>[, +<value>лимит</value>]]))</literal></tag-name> +<tag-desc> +Возвращает совпадение строки регулярному выражению. +Необязательный параметр <literal>лимит</literal> является числом, задающим +ограничение на количество найденных подстрок. +<example> +>> 'abc'.split('') +[ + 'a', + 'b', + 'c' +] +</example> +</tag-desc> + +<tag-name id="string_startswith"><literal>String.prototype.startsWith(<value>поисковаяСтрока</value>[, +<value>позиция</value>])</literal></tag-name> +<tag-desc> +Возвращает <literal>true</literal>, если строка начинается с символов +указанной строки, иначе <literal>false</literal>. +Необязательный параметр <literal>позиция</literal> является местом +в этой строке, с которого начинается поиск <literal>поисковойСтоки</literal>. +Значение по умолчанию равно 0. +<example> +>> 'abc'.startsWith('abc') +true +> 'aabc'.startsWith('abc') +false +</example> +</tag-desc> + +<tag-name id="string_substr"><literal>String.prototype.substr(<value>начало</value>[, +<value>длина</value>])</literal></tag-name> +<tag-desc> +Возвращает часть строки указанной <literal>длины</literal> +от <literal>начала</literal> +или от <literal>начала</literal> до конца строки. +<example> +>> 'abcdefghijklmno'.substr(3, 5) +'defgh' +</example> +</tag-desc> + +<tag-name id="string_substring"><literal>String.prototype.substring(<value>начало</value>[, +<value>конец</value>])</literal></tag-name> +<tag-desc> +Возвращает часть строки между +<literal>началом</literal> и <literal>концом</literal> или +от от <literal>начала</literal> до конца строки. +<example> +>> 'abcdefghijklmno'.substring(3, 5) +'de' +</example> +</tag-desc> + +<tag-name id="string_tobytes"><literal>String.prototype.toBytes(начало[, +конец])</literal></tag-name> +<tag-desc> +(только в njs) Сериализует строку Unicode в байтовую строку. +Возвращает <literal>null</literal>, если в строке найден символ больше, чем 255. +</tag-desc> + +<tag-name id="string_tolowercase"><literal>String.prototype.toLowerCase()</literal></tag-name> +<tag-desc> +Преобразует строку в нижний регистр. +Метод поддерживает только простое свёртывание Unicode. +<example> +>> 'ΑΒΓΔ'.toLowerCase() +'αβγδ' +</example> +</tag-desc> + +<tag-name><literal>String.prototype.toString([<value>кодировка</value>])</literal></tag-name> +<tag-desc> +<para> +Если кодировка не указана, +возвращает указанную строку Unicode string или байтовую строку как в ECMAScript. +</para> + +<para> +(только в njs) Если кодировка указана, +кодирует <link id="string_tobytes">байтовую строку</link> в +<literal>hex</literal>, +<literal>base64</literal> или +<literal>base64url</literal>. +</para> +<example> +>> 'αβγδ'.toUTF8().toString('base64url') +'zrHOss6zzrQ' +</example> +</tag-desc> + +<tag-name id="string_touppercase"><literal>String.prototype.toUpperCase()</literal></tag-name> +<tag-desc> +Преобразует строку в верхний регистр. +Метод поддерживает только простое свёртывание Unicode. +<example> +>> 'αβγδ'.toUpperCase() +'ΑΒΓΔ' +</example> +</tag-desc> + +<tag-name id="string_toutf8"><literal>String.prototype.toUTF8(<value>начало</value>[, +<value>конец</value>])</literal></tag-name> +<tag-desc> +(только в njs) Сериализует строку Unicode +в байтовую строку при помощи кодирования UTF8. +<example> +>> 'αβγδ'.toUTF8().length +8 +>> 'αβγδ'.length +4 +</example> +</tag-desc> + +<tag-name id="string_trim"><literal>String.prototype.trim()</literal></tag-name> +<tag-desc> +Удаляет пробелы в начале и конце строки. +<example> +>> ' abc '.trim() +'abc' +</example> +</tag-desc> + +<tag-name id="encodeuri"><literal>encodeURI(<value>URI</value>)</literal></tag-name> +<tag-desc> +Кодирует URI путём замены определённых символов +на одну, две, три или четыре последовательности, +представляющие UTF-8 кодировку символа. +<example> +>> encodeURI('012αβγδ') +'012%CE%B1%CE%B2%CE%B3%CE%B4' +</example> +</tag-desc> + +<tag-name id="encodeuricomponent"><literal>encodeURIComponent(<value>encodedURIString</value>)</literal></tag-name> +<tag-desc> +Кодирует URI путём замены определённых символов +на одну, две, три или четыре последовательности, +представляющие UTF-8 кодировку символа. +<example> +>> encodeURIComponent('[@?=') +'%5B%40%3F%3D' +</example> +</tag-desc> + +<tag-name id="decodeuri"><literal>decodeURI(<value>encodedURI</value>)</literal></tag-name> +<tag-desc> +Декодирует ранее <link id="encodeuri">кодированный</link> URI. +<example> +>> decodeURI('012%CE%B1%CE%B2%CE%B3%CE%B4') +'012αβγδ' +</example> +</tag-desc> + +<tag-name id="decodeuricomponent"><literal>decodeURIComponent(<value>decodedURIString</value>)</literal></tag-name> +<tag-desc> +Декодирует ранее <link id="encodeuri">кодированный</link> URI. +<example> +>> decodeURIComponent('%5B%40%3F%3D') +'[@?=' +</example> +</tag-desc> + +</list> +</para> + +</section> + +</section> + </article>