Mercurial > hg > nginx-site
comparison xml/ru/docs/njs/reference.xml @ 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 | a1d0238ffb61 |
children | 9d502d4305ac |
comparison
equal
deleted
inserted
replaced
2315:ae56e4613280 | 2316:3a8d96efece6 |
---|---|
461 | 461 |
462 </section> | 462 </section> |
463 | 463 |
464 </section> | 464 </section> |
465 | 465 |
466 | |
467 <section id="core" name="Core"> | |
468 | |
469 | |
470 <section id="string" name="Строка"> | |
471 | |
472 <para> | |
473 В njs существует два типа строк: строка Unicode (по умолчанию) и | |
474 байтовая строка. | |
475 </para> | |
476 | |
477 <para> | |
478 Строка Unicode соответствует строке ECMAScript, | |
479 содержащей символы Unicode. | |
480 </para> | |
481 | |
482 <para> | |
483 Байтовые строки содержат последовательность байт и | |
484 используются для сериализации строк Unicode | |
485 во внешние данные и десериализации из внешних источников. | |
486 Например метод <link id="string_toutf8">toUTF8()</link> сериализует | |
487 строку Unicode в байтовую строку используя кодировку UTF8: | |
488 <example> | |
489 >> '£'.toUTF8().toString('hex') | |
490 'c2a3' /* C2 A3 является UTF8-представлением codepoint 00A3 ('£') */ | |
491 </example> | |
492 Метод <link id="string_tobytes">toBytes()</link> сериализует | |
493 строку Unicode с codepoints до 255 в байтовую строку, | |
494 в противном случае возвращается <literal>null</literal>: | |
495 <example> | |
496 >> '£'.toBytes().toString('hex') | |
497 'a3' /* a3 является байтом, равным codepoint 00A3 ('£') */ | |
498 </example> | |
499 В различные кодировки могут быть преобразованы только байтовые строки. | |
500 Например строка не может быть кодирована напрямую в <literal>hex</literal>: | |
501 <example> | |
502 >> 'αβγδ'.toString('base64') | |
503 TypeError: argument must be a byte string | |
504 at String.prototype.toString (native) | |
505 at main (native) | |
506 </example> | |
507 Чтобы преобразовать строку Unicode в hex, | |
508 сначала необходимо её преобразовать в байтовую строку и затем в hex: | |
509 <example> | |
510 >> 'αβγδ'.toUTF8().toString('base64') | |
511 'zrHOss6zzrQ=' | |
512 </example> | |
513 | |
514 <list type="tag"> | |
515 | |
516 <tag-name id="string_bytesfrom"><literal>String.bytesFrom(<value>массив</value> | |
517 | <value>строка</value>, <value>кодировка</value>)</literal></tag-name> | |
518 <tag-desc> | |
519 (только в njs) Создаёт байтовую строку или из массива, содержащего октеты, | |
520 или из кодированной строки | |
521 (<link doc="../njs/changes.xml" id="njs0.2.3">0.2.3</link>). | |
522 Кодировкой может быть | |
523 <literal>hex</literal>, | |
524 <literal>base64</literal> и | |
525 <literal>base64url</literal>. | |
526 <example> | |
527 >> String.bytesFrom([0x62, 0x75, 0x66, 0x66, 0x65, 0x72]) | |
528 'buffer' | |
529 | |
530 >> String.bytesFrom('YnVmZmVy', 'base64') | |
531 'buffer' | |
532 </example> | |
533 </tag-desc> | |
534 | |
535 <tag-name id="string_fromcharcode"><literal>String.fromCharCode(<value>CharCode1</value>[, ...[, | |
536 <value>CharCodeN</value>]])</literal></tag-name> | |
537 <tag-desc> | |
538 Возвращает строку из одной или более Unicode codepoints. | |
539 <example> | |
540 >> String.fromCharCode(97, 98, 99, 100) | |
541 'abcd' | |
542 </example> | |
543 </tag-desc> | |
544 | |
545 <tag-name id="string_fromcodepoint"><literal>String.fromCodePoint(<value>codePoint1</value>[, ...[, | |
546 <value>codePoint2</value>]])</literal></tag-name> | |
547 <tag-desc> | |
548 Возвращает строку из одной или более Unicode codepoints. | |
549 <example> | |
550 >> String.fromCodePoint(97, 98, 99, 100) | |
551 'abcd' | |
552 </example> | |
553 </tag-desc> | |
554 | |
555 <tag-name id="string_charat"><literal>String.prototype.charAt(<value>индекс</value>)</literal></tag-name> | |
556 <tag-desc> | |
557 Возвращает строку, представляющую одну кодовую единицу Unicode | |
558 внутри указанного <literal>индекса</literal>; | |
559 пустая строка, если индекс вне диапазона значений. | |
560 Индекс может быть числом | |
561 между 0 и длиной строки минус 1. | |
562 Если индекс не указан, то значение по умолчанию равно <literal>0</literal>, | |
563 т.е. возвращается первый символ в строке. | |
564 </tag-desc> | |
565 | |
566 <tag-name id="string_codepointat"><literal>String.prototype.CodePointAt(<value>позиция</value>)</literal></tag-name> | |
567 <tag-desc> | |
568 Возвращает число, представляющее codepoint-значение символа | |
569 в пределах указанной <literal>позиции</literal>; | |
570 <literal>undefined</literal>, если элемент в позиции отсутствует. | |
571 <example> | |
572 >> 'ABCD'.codePointAt(3); | |
573 68 | |
574 </example> | |
575 </tag-desc> | |
576 | |
577 <tag-name id="string_concat"><literal>String.prototype.concat(<value>строка1</value>[, ..., | |
578 <value>строкаN</value>])</literal></tag-name> | |
579 <tag-desc> | |
580 Возвращает строку, содержающую результат объединения указанных | |
581 <literal>строк</literal>. | |
582 <example> | |
583 >> "a".concat("b", "c") | |
584 'abc' | |
585 </example> | |
586 </tag-desc> | |
587 | |
588 <tag-name id="string_endswith"><literal>String.prototype.endsWith(<value>ПоисковаяСтрока</value>[, | |
589 <value>длина</value>])</literal></tag-name> | |
590 <tag-desc> | |
591 Возвращает <literal>true</literal>, если строка заканчивается символами | |
592 указанной строки, иначе <literal>false</literal>. | |
593 Необязательный параметр <literal>длина</literal> задаёт длину строки. | |
594 Если <value>ПоисковаяСтрока</value> не указана, | |
595 значением по умолчанию является длина строки. | |
596 <example> | |
597 >> 'abc'.endsWith('abc') | |
598 true | |
599 >> 'abca'.endsWith('abc') | |
600 false | |
601 </example> | |
602 </tag-desc> | |
603 | |
604 <tag-name id="string_frombytes"><literal>String.prototype.fromBytes(<value>начало</value>[, | |
605 <value>конец</value>])</literal></tag-name> | |
606 <tag-desc> | |
607 (только в njs) Возвращает новую строку Unicode из байтовой строки, | |
608 в которой каждый байт заменяется соответствующей Unicode codepoint. | |
609 </tag-desc> | |
610 | |
611 <tag-name id="string_fromutf8"><literal>String.prototype.fromUTF8(<value>начало</value>[, | |
612 <value>конец</value>])</literal></tag-name> | |
613 <tag-desc> | |
614 (только в njs) Преобразует байтовую строку, содержащую валидную строку UTF8, | |
615 в строку Unicode, | |
616 иначе возвращается <literal>null</literal>. | |
617 </tag-desc> | |
618 | |
619 <tag-name id="string_includes"><literal>String.prototype.includes(<value>поисковаяСтрока</value>[, | |
620 <value>позиция</value>]))</literal></tag-name> | |
621 <tag-desc> | |
622 Возвращает <literal>true</literal>, если строка ищется внутри другой строки, | |
623 иначе <literal>false</literal>. | |
624 Необязательный параметр <literal>позиция</literal> задаёт позицию | |
625 внутри строки, от которой начинается поиск для <literal>поисковойСтроки</literal>. | |
626 Значение по умолчанию равно 0. | |
627 <example> | |
628 >> 'abc'.includes('bc') | |
629 true | |
630 </example> | |
631 </tag-desc> | |
632 | |
633 <tag-name id="string_indexof"><literal>String.prototype.indexOf(<value>поисковаяСтрока</value>[, | |
634 <value>fromIndex</value>])</literal></tag-name> | |
635 <tag-desc> | |
636 Возвращает позицию первого появления | |
637 <literal>поисковойСтроки</literal>. | |
638 Поиск начинается с <literal>fromIndex</literal>. | |
639 Возвращает <value>-1</value>, если значение не найдено. | |
640 <literal>fromIndex</literal> является числом, | |
641 значение по умолчанию равно 0. | |
642 Если <literal>fromIndex</literal> меньше, чем 0 | |
643 или больше, чем | |
644 <link id="string_length">String.prototype.length</link><value></value>, | |
645 поиск начнётся на индексе <value>0</value> и | |
646 <value>String.prototype.length</value>. | |
647 <example> | |
648 >> 'abcdef'.indexOf('de', 2) | |
649 3 | |
650 </example> | |
651 </tag-desc> | |
652 | |
653 <tag-name id="string_lastindexof"><literal>String.prototype.lastIndexOf(<value>поисковаяСтрока</value>[, | |
654 <value>fromIndex</value>])</literal></tag-name> | |
655 <tag-desc> | |
656 Возвращает позицию последнего появления | |
657 of the <literal>поисковойСтроки</literal>, | |
658 поиск осуществляется в обратном порядке от <literal>fromIndex</literal>. | |
659 Возвращает <value>-1</value>, если значение не найдено. | |
660 Если значение <literal>поисковойСтроки</literal> пустое, | |
661 то возвращается <literal>fromIndex</literal>. | |
662 <example> | |
663 >> "nginx".lastIndexOf("gi") | |
664 1 | |
665 </example> | |
666 </tag-desc> | |
667 | |
668 <tag-name id="string_length"><literal>String.prototype.length</literal></tag-name> | |
669 <tag-desc> | |
670 Возвращает длину строки. | |
671 <example> | |
672 >> 'αβγδ'.length | |
673 4 | |
674 </example> | |
675 </tag-desc> | |
676 | |
677 <tag-name id="string_match"><literal>String.prototype.match([<value>регулярноеВыражение</value>])</literal></tag-name> | |
678 <tag-desc> | |
679 Возвращает совпадение при сопоставлении строки с | |
680 регулярным выражением. | |
681 <example> | |
682 >> 'nginx'.match( /ng/i ) | |
683 'ng' | |
684 </example> | |
685 </tag-desc> | |
686 | |
687 <tag-name id="string_padend"><literal>String.prototype.padEnd(<value>длина</value> | |
688 [, <value>строка</value>])</literal></tag-name> | |
689 <tag-desc> | |
690 Возвращает строку указанной длины, | |
691 добавляя строку в конец указанной | |
692 строки (<link doc="../njs/changes.xml" id="njs0.2.3">0.2.3</link>). | |
693 <example> | |
694 >> '1234'.padEnd(8, 'abcd') | |
695 '1234abcd' | |
696 </example> | |
697 </tag-desc> | |
698 | |
699 <tag-name id="string_padstart"><literal>String.prototype.padStart(<value>длина</value> | |
700 [, <value>строка</value>])</literal></tag-name> | |
701 <tag-desc> | |
702 Возвращает строку указанной длины, | |
703 добавляя строку к началу указанной | |
704 строки (<link doc="../njs/changes.xml" id="njs0.2.3">0.2.3</link>). | |
705 <example> | |
706 >> '1234'.padStart(8, 'abcd') | |
707 'abcd1234' | |
708 </example> | |
709 </tag-desc> | |
710 | |
711 <tag-name id="string_repeat"><literal>String.prototype.repeat(<value>число</value>)</literal></tag-name> | |
712 <tag-desc> | |
713 Возвращает строку | |
714 с указанным числом копий строки. | |
715 <example> | |
716 >> 'abc'.repeat(3) | |
717 'abcabcabc' | |
718 </example> | |
719 </tag-desc> | |
720 | |
721 <tag-name id="string_replace"><literal>String.prototype.replace([<value>регулярноеВыражение</value>|<value>string</value>[, | |
722 <value>string</value>|<value>function</value>]])</literal></tag-name> | |
723 <tag-desc> | |
724 Возвращает новую строку, которая сопоставляется со | |
725 строкой или регулярным выражением, | |
726 и заменяется на <literal>строку</literal> или <literal>функцию</literal>. | |
727 <example> | |
728 >> 'abcdefgh'.replace('d', 1) | |
729 'abc1efgh' | |
730 </example> | |
731 </tag-desc> | |
732 | |
733 <tag-name id="string_search"><literal>String.prototype.search([<value>регулярноеВыражение</value>])</literal></tag-name> | |
734 <tag-desc> | |
735 Осуществляет поиск строки при помощи регулярного выражения. | |
736 <example> | |
737 >> 'abcdefgh'.search('def') | |
738 3 | |
739 </example> | |
740 </tag-desc> | |
741 | |
742 <tag-name id="string_slice"><literal>String.prototype.slice(<value>начало</value>[, | |
743 <value>конец</value>])</literal></tag-name> | |
744 <tag-desc> | |
745 Возвращает новую строку, содержащую часть | |
746 исходной строки между <literal>началом</literal> | |
747 и <literal>концом</literal> или | |
748 от <literal>начала</literal> до конца строки. | |
749 <example> | |
750 >> 'abcdefghijklmno'.slice(NaN, 5) | |
751 'abcde' | |
752 </example> | |
753 </tag-desc> | |
754 | |
755 <tag-name id="string_split"><literal>String.prototype.split(([<value>строка</value>|<value>регулярноеВыражение</value>[, | |
756 <value>лимит</value>]]))</literal></tag-name> | |
757 <tag-desc> | |
758 Возвращает совпадение строки регулярному выражению. | |
759 Необязательный параметр <literal>лимит</literal> является числом, задающим | |
760 ограничение на количество найденных подстрок. | |
761 <example> | |
762 >> 'abc'.split('') | |
763 [ | |
764 'a', | |
765 'b', | |
766 'c' | |
767 ] | |
768 </example> | |
769 </tag-desc> | |
770 | |
771 <tag-name id="string_startswith"><literal>String.prototype.startsWith(<value>поисковаяСтрока</value>[, | |
772 <value>позиция</value>])</literal></tag-name> | |
773 <tag-desc> | |
774 Возвращает <literal>true</literal>, если строка начинается с символов | |
775 указанной строки, иначе <literal>false</literal>. | |
776 Необязательный параметр <literal>позиция</literal> является местом | |
777 в этой строке, с которого начинается поиск <literal>поисковойСтоки</literal>. | |
778 Значение по умолчанию равно 0. | |
779 <example> | |
780 >> 'abc'.startsWith('abc') | |
781 true | |
782 > 'aabc'.startsWith('abc') | |
783 false | |
784 </example> | |
785 </tag-desc> | |
786 | |
787 <tag-name id="string_substr"><literal>String.prototype.substr(<value>начало</value>[, | |
788 <value>длина</value>])</literal></tag-name> | |
789 <tag-desc> | |
790 Возвращает часть строки указанной <literal>длины</literal> | |
791 от <literal>начала</literal> | |
792 или от <literal>начала</literal> до конца строки. | |
793 <example> | |
794 >> 'abcdefghijklmno'.substr(3, 5) | |
795 'defgh' | |
796 </example> | |
797 </tag-desc> | |
798 | |
799 <tag-name id="string_substring"><literal>String.prototype.substring(<value>начало</value>[, | |
800 <value>конец</value>])</literal></tag-name> | |
801 <tag-desc> | |
802 Возвращает часть строки между | |
803 <literal>началом</literal> и <literal>концом</literal> или | |
804 от от <literal>начала</literal> до конца строки. | |
805 <example> | |
806 >> 'abcdefghijklmno'.substring(3, 5) | |
807 'de' | |
808 </example> | |
809 </tag-desc> | |
810 | |
811 <tag-name id="string_tobytes"><literal>String.prototype.toBytes(начало[, | |
812 конец])</literal></tag-name> | |
813 <tag-desc> | |
814 (только в njs) Сериализует строку Unicode в байтовую строку. | |
815 Возвращает <literal>null</literal>, если в строке найден символ больше, чем 255. | |
816 </tag-desc> | |
817 | |
818 <tag-name id="string_tolowercase"><literal>String.prototype.toLowerCase()</literal></tag-name> | |
819 <tag-desc> | |
820 Преобразует строку в нижний регистр. | |
821 Метод поддерживает только простое свёртывание Unicode. | |
822 <example> | |
823 >> 'ΑΒΓΔ'.toLowerCase() | |
824 'αβγδ' | |
825 </example> | |
826 </tag-desc> | |
827 | |
828 <tag-name><literal>String.prototype.toString([<value>кодировка</value>])</literal></tag-name> | |
829 <tag-desc> | |
830 <para> | |
831 Если кодировка не указана, | |
832 возвращает указанную строку Unicode string или байтовую строку как в ECMAScript. | |
833 </para> | |
834 | |
835 <para> | |
836 (только в njs) Если кодировка указана, | |
837 кодирует <link id="string_tobytes">байтовую строку</link> в | |
838 <literal>hex</literal>, | |
839 <literal>base64</literal> или | |
840 <literal>base64url</literal>. | |
841 </para> | |
842 <example> | |
843 >> 'αβγδ'.toUTF8().toString('base64url') | |
844 'zrHOss6zzrQ' | |
845 </example> | |
846 </tag-desc> | |
847 | |
848 <tag-name id="string_touppercase"><literal>String.prototype.toUpperCase()</literal></tag-name> | |
849 <tag-desc> | |
850 Преобразует строку в верхний регистр. | |
851 Метод поддерживает только простое свёртывание Unicode. | |
852 <example> | |
853 >> 'αβγδ'.toUpperCase() | |
854 'ΑΒΓΔ' | |
855 </example> | |
856 </tag-desc> | |
857 | |
858 <tag-name id="string_toutf8"><literal>String.prototype.toUTF8(<value>начало</value>[, | |
859 <value>конец</value>])</literal></tag-name> | |
860 <tag-desc> | |
861 (только в njs) Сериализует строку Unicode | |
862 в байтовую строку при помощи кодирования UTF8. | |
863 <example> | |
864 >> 'αβγδ'.toUTF8().length | |
865 8 | |
866 >> 'αβγδ'.length | |
867 4 | |
868 </example> | |
869 </tag-desc> | |
870 | |
871 <tag-name id="string_trim"><literal>String.prototype.trim()</literal></tag-name> | |
872 <tag-desc> | |
873 Удаляет пробелы в начале и конце строки. | |
874 <example> | |
875 >> ' abc '.trim() | |
876 'abc' | |
877 </example> | |
878 </tag-desc> | |
879 | |
880 <tag-name id="encodeuri"><literal>encodeURI(<value>URI</value>)</literal></tag-name> | |
881 <tag-desc> | |
882 Кодирует URI путём замены определённых символов | |
883 на одну, две, три или четыре последовательности, | |
884 представляющие UTF-8 кодировку символа. | |
885 <example> | |
886 >> encodeURI('012αβγδ') | |
887 '012%CE%B1%CE%B2%CE%B3%CE%B4' | |
888 </example> | |
889 </tag-desc> | |
890 | |
891 <tag-name id="encodeuricomponent"><literal>encodeURIComponent(<value>encodedURIString</value>)</literal></tag-name> | |
892 <tag-desc> | |
893 Кодирует URI путём замены определённых символов | |
894 на одну, две, три или четыре последовательности, | |
895 представляющие UTF-8 кодировку символа. | |
896 <example> | |
897 >> encodeURIComponent('[@?=') | |
898 '%5B%40%3F%3D' | |
899 </example> | |
900 </tag-desc> | |
901 | |
902 <tag-name id="decodeuri"><literal>decodeURI(<value>encodedURI</value>)</literal></tag-name> | |
903 <tag-desc> | |
904 Декодирует ранее <link id="encodeuri">кодированный</link> URI. | |
905 <example> | |
906 >> decodeURI('012%CE%B1%CE%B2%CE%B3%CE%B4') | |
907 '012αβγδ' | |
908 </example> | |
909 </tag-desc> | |
910 | |
911 <tag-name id="decodeuricomponent"><literal>decodeURIComponent(<value>decodedURIString</value>)</literal></tag-name> | |
912 <tag-desc> | |
913 Декодирует ранее <link id="encodeuri">кодированный</link> URI. | |
914 <example> | |
915 >> decodeURIComponent('%5B%40%3F%3D') | |
916 '[@?=' | |
917 </example> | |
918 </tag-desc> | |
919 | |
920 </list> | |
921 </para> | |
922 | |
923 </section> | |
924 | |
925 </section> | |
926 | |
466 </article> | 927 </article> |
467 | 928 |