Errors: Malformed URI
Errors: Malformed URI
信息
URIError: malformed URI sequence (Firefox)
URIError: URI malformed (Chrome)
错误类型
URIError
什么地方出了错?
URI编码或解码不成功。给任一个参数decodeURI
,encodeURI
,encodeURIComponent
,或decodeURIComponent
功能是无效的,因此该功能无法编码或解码正常。
例子
编码
编码通过代表字符的UTF-8编码的一个,两个,三个或四个转义序列来替换某些字符的每个实例。一个URIError
如果存在以编码替代这不是一个高-低对的一部分,例如,试图将被抛出:
encodeURI('\uD800'
// "URIError: malformed URI sequence"
encodeURI('\uDFFF'
// "URIError: malformed URI sequence"
高低对可以。例如:
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_шеллы"