aboutsummaryrefslogtreecommitdiff
path: root/files/zh-cn/web/javascript/reference/errors/malformed_uri
diff options
context:
space:
mode:
Diffstat (limited to 'files/zh-cn/web/javascript/reference/errors/malformed_uri')
-rw-r--r--files/zh-cn/web/javascript/reference/errors/malformed_uri/index.html65
1 files changed, 65 insertions, 0 deletions
diff --git a/files/zh-cn/web/javascript/reference/errors/malformed_uri/index.html b/files/zh-cn/web/javascript/reference/errors/malformed_uri/index.html
new file mode 100644
index 0000000000..40bb10ae1d
--- /dev/null
+++ b/files/zh-cn/web/javascript/reference/errors/malformed_uri/index.html
@@ -0,0 +1,65 @@
+---
+title: 'URIError: malformed URI sequence'
+slug: Web/JavaScript/Reference/Errors/Malformed_URI
+tags:
+ - JavaScript
+ - URLError
+ - 错误提示
+translation_of: Web/JavaScript/Reference/Errors/Malformed_URI
+---
+<div>{{jsSidebar("Errors")}}</div>
+
+<h2 id="错误提示">错误提示</h2>
+
+<pre class="syntaxbox">URIError: malformed URI sequence (Firefox)
+URIError: URI malformed (Chrome)
+</pre>
+
+<h2 id="错误类型">错误类型</h2>
+
+<p>{{jsxref("URIError")}}</p>
+
+<h2 id="哪里出错了?">哪里出错了?</h2>
+
+<p>URI 编码和解码不成功。传递给 {{jsxref("decodeURI")}}、{{jsxref("encodeURI")}}、{{jsxref("encodeURIComponent")}} 或者 {{jsxref("decodeURIComponent")}} 这些函数的参数不合法,导致函数无法正确对其进行编解码。</p>
+
+<h2 id="示例">示例</h2>
+
+<h3 id="编码">编码</h3>
+
+<p>编码操作会将每一个字符实例替换为一到四个相对应的 UTF-8 编码形式的转义序列。如果试图编码一个非高-低位完整的代理字符,将会抛出一个 {{jsxref("URIError")}} 错误,例如:</p>
+
+<pre class="brush: js example-bad">encodeURI('\uD800');
+// "URIError: malformed URI sequence"
+
+encodeURI('\uDFFF');
+// "URIError: malformed URI sequence"
+</pre>
+
+<p>高-低位完整的代理字符是没问题的,例如:</p>
+
+<pre class="brush: js example-good">encodeURI('\uD800\uDFFF');
+// "%F0%90%8F%BF"</pre>
+
+<h3 id="解码">解码</h3>
+
+<p>解码操作则是将已经经过编码的 URL 片段中的每一个转义序列替换为相对应的字符。如果相应的字符不存在,就会抛出错误:</p>
+
+<pre class="brush: js example-bad">decodeURIComponent('%E0%A4%A');
+// "URIError: malformed URI sequence"
+</pre>
+
+<p>输入没问题的话,通常是下面这样:</p>
+
+<pre class="brush: js example-good">decodeURIComponent('JavaScript_%D1%88%D0%B5%D0%BB%D0%BB%D1%8B');
+// "JavaScript_шеллы"</pre>
+
+<h2 id="相关内容">相关内容</h2>
+
+<ul>
+ <li>{{jsxref("URIError")}}</li>
+ <li>{{jsxref("decodeURI")}}</li>
+ <li>{{jsxref("encodeURI")}}</li>
+ <li>{{jsxref("encodeURIComponent")}}</li>
+ <li>{{jsxref("decodeURIComponent")}}</li>
+</ul>