This page was translated from English by the community.Learn more and join the MDN Web Docs community.
URIError: malformed URI sequence
Сообщение
URIError: malformed URI sequence (Firefox)URIError: URI malformed (Chrome)
In this article
Тип ошибки
URIErrorЧто пошло не так?
Декодирование или кодирование URI не было успешным. Аргумент переданный функциямdecodeURI,encodeURI,encodeURIComponent, илиdecodeURIComponent был недопустимым, из-за этого функция не смогла выполнить кодирование или декодирование.
Примеры
>Кодирование
Кодирование заменяет каждое вхождение конкретного символа одним, двумя, тремя или четырьмя управляющими последовательностями, представленными стандартом UTF-8.URIError возникнет, при попытке кодирования суррогата, не являющегося частью high-low пары, например:
encodeURI("\uD800");// "URIError: malformed URI sequence"encodeURI("\uDFFF");// "URIError: malformed URI sequence"Нормальная high-low пара. Например:
encodeURI("\uD800\uDFFF");// "%F0%90%8F%BF"Декодирование
Декодирование заменяет каждую управляющую последовательность в закодированном URI компоненте символом, который она представляет. Если такого символа нет, возникнет ошибка:
decodeURIComponent("%E0%A4%A");// "URIError: malformed URI sequence"Правильный вариант обычно выглядит так:
decodeURIComponent("JavaScript_%D1%88%D0%B5%D0%BB%D0%BB%D1%8B");// "JavaScript_шеллы"