Книга: JavaScript. Подробное руководство, 6-е издание

decodeURI

decodeURI

decodeURI()

декодирует символы в URI

Синтаксис

decodeURI(uri)

Аргументы

uri Строка, содержащая в закодированном виде URI (Uniform Resource Identifier -унифицированный идентификатор ресурса) или другой текст, подлежащий декодированию.

Возвращаемое значение

Копия аргумента uri, в которой все шестнадцатеричные управляющие последовательности заменены на символы, которые они представляют.

Исключения

URIError Означает, что одна или несколько управляющих последовательностей в uri имеют неверный формат и не могут быть правильно декодированы.

Описание

decodeURI() - это глобальная функция, возвращающая декодированную копию аргумента uri. Она выполняет действие, обратное действию функции encodeURI(); подробности см. в описании этой функции.

См. также

decodeURIComponent(), encodeURI(), encodeURIComponent(), escape(), unescape()

decodeURIComponent()

декодирует управляющие последовательности символов в компоненте URI

Синтаксис

decodeURIComponent(s)

Аргументы

s Строка, содержащая закодированный компонент URI или другой текст, который должен быть декодирован.

Возвращаемое значение

Копия аргумента s, в которой шестнадцатеричные управляющие последовательности заменены представляемыми ими символами.

Исключения

URIError Означает, что одна или несколько управляющих последовательностей в аргументе s имеют неверный формат и не могут быть правильно декодированы.

Описание

decodeURIComponent() - глобальная функция, возвращающая декодированную копию своего аргумента s. Ее действие обратно кодированию, выполняемому функцией encodeURIComponent(); подробности см. в справочной статье по этой функции.

См. также

decodeURIO, encodeURI(), encodeURIComponent(), escape(), unescape()

encodeURI()

выполняет кодирование URI с помощью управляющих последовательностей

Синтаксис

encodeURI(uri)

Аргументы

uri Строка, содержащая URI или другой текст, который должен быть закодирован.

Возвращаемое значение

Копия аргумента uri, в которой некоторые символы заменены шестнадцатеричными управляющими последовательностями.

Исключения

URIError Указывает, что строка uri содержит искаженные суррогатные пары символов Юникода и не может быть закодирована.

Описание

encodeURI() - это глобальная функция, возвращающая закодированную копию аргумента uri. Не кодируются символы, цифры и следующие знаки пунктуации ASCII:

- _ . ! ~ * ' ( )

Функция encodeURI() кодирует URI целиком, поэтому следующие символы пунктуации, имеющие в URI специальное значение, также не кодируются:

; / ? : @ & = + $ , #

Любые другие символы в uri заменяются путем преобразования символа в его код UTF-8 и последующего кодирования каждого из полученных байтов шестнадцатиричной управляющей последовательностью в формате %хх. В этой схеме кодирования ASCII-символы заменяются одной последовательностью %хх, символы с кодами от u0080 до u07ff - двумя управляющими последовательностями, а все остальные 16-раз-рядные символы Юникода - тремя управляющими последовательностями.

При использовании этого метода для кодирования URI необходимо быть уверенным, что ни один из компонентов URI (например, строка запроса) не содержит символов-разделителей URI, таких как ? и #. Если компоненты могут содержать эти символы, необходимо кодировать каждый компонент отдельно с помощью функции encodeURIComponent().

Метод decodeURIO предназначен для выполнения действия, обратного кодированию. До выхода ECMAScript v3 с помощью методов escape() и unescape(), сейчас признанных устаревшими, выполнялись сходные кодирование и декодирование.

Пример

// Возвращает http://www.isp.com/app.cgi?arg1=1&arg2=hello%20world
encodeURI("http://www.isp.com/app.cgi?arg1=1&arg2=hello world");
encodeURI("u00a9"); // Символ копирайта кодируется в %С2%А9

См. также

decodeURIO, decodeURIComponent(), encodeURIComponent(), escape(), unescape()

encodeURIComponent()

выполняет кодирование компонентов URI с помощью управляющих последовательностей

Синтаксис

encodeURIComponent(s)

Аргументы

s Строка, содержащая фрагмент URI или другой текст, подлежащий кодированию.

Возвращаемое значение

Копия s, в которой определенные символы заменены шестнадцатеричными управляющими последовательностями.

Исключения

URIError Указывает, что строка s содержит искаженные суррогатные пары символов Юникода и не может быть закодирована.

Описание

encodeURIComponent() - это глобальная функция, возвращающая закодированную копию своего аргумента s. Не кодируются буквы, цифры и следующие знаки пунктуации ASCII:

- _ . ! ~ * ' ( )

Все остальные символы, в том числе такие символы пунктуации, как / : #, служащие для разделения различных компонентов URI, заменяются одной или несколькими шестнадцатеричными управляющими последовательностями. Описание используемой схемы кодирования см. в статье, посвященной функции encodeURI().

Обратите внимание на разницу между encodeURIComponent() и encodeURI(): функция encodeURIComponent() предполагает, что ее аргументом является фрагмент URI (такой* как протокол, имя хоста, путь или строка запроса). Поэтому она преобразует символы пунктуации, используемые для разделения фрагментов URI.

Пример

encodeURIComponent("hello world?"); // Вернет hello%20world%3F

См. также

decodeURIO, decodeURIComponent(), encodeURI(), escape(), unescape()

Оглавление книги


Генерация: 1.656. Запросов К БД/Cache: 3 / 1
поделиться
Вверх Вниз