URIError: malformed URI sequence
メッセージ
URIError: malformed URI sequence (Firefox) URIError: URI malformed (Chrome)
エラータイプ
何がうまくいかなかったのか?
URI エンコードかデコードが成功しませんでした。decodeURI
か encodeURI
、encodeURIComponent
、decodeURIComponent
関数の引数が無効のため、関数は適切にエンコード、またはデコードできませんでした。
例
エンコーディング
エンコーディングは、特定の文字インスタンスをそれぞれ、文字の UFT-8 エンコーディングを表す 1 つか 2 つ、3 つ 4 つのシーケンスに置き換えます。高低ペアの一部ではないサロゲートをエンコードしようとした場合、URIError
がスローされます。たとえば:
encodeURI('\uD800');
// "URIError: malformed URI sequence"
encodeURI('\uDFFF');
// "URIError: malformed URI sequence"
高低ペアは ok です。たとえば:
encodeURI('\uD800\uDFFF');
// "%F0%90%8F%BF"
デコーディング
decodeURIComponent('%E0%A4%A');
// "URIError: malformed URI sequence"
適切な入力を行うと、通常は次のようになります:
decodeURIComponent('JavaScript_%D1%88%D0%B5%D0%BB%D0%BB%D1%8B');
// "JavaScript_шеллы"