unescape()

已弃用: 不再推荐使用该特性。虽然一些浏览器仍然支持它,但也许已从相关的 web 标准中移除,也许正准备移除或出于兼容性而保留。请尽量不要使用该特性,并更新现有的代码;参见本页面底部的兼容性表格以指导你作出决定。请注意,该特性随时可能无法正常工作。

备注: unescape() 是由浏览器实现的非标准函数,其仅针对跨引擎兼容性而进行了标准化。并不要求所有的 JavaScript 引擎都实现它,并且可能无法在所有地方都正常工作。如果可能的话,请使用 decodeURIComponent()decodeURI()

unescape() 函数计算一个新的字符串,将其中的十六进制转义序列替换为它们所代表的字符。转义序列可能是由 escape() 等函数引入的。

语法

js
unescape(str)

参数

str

要解码的字符串。

返回值

一个其中的某些字符已被解码的新的字符串。

描述

unescape 函数是全局对象的函数属性。

unescape() 函数将任何转移序列替换为它所代表的字符。具体来说,它将任何形式为 %XX%uXXXX(其中 X 代表一个十六进制数字)的转义序列替换为十六进制值为 XX/XXXX 的字符。如果转义序列无效(例如,如果 % 后面跟着一个或未跟十六进制数字),则保持不变。

备注: 该函数主要用于 URL 编码,其部分基于 RFC 1738 中的转义格式。unescape() 函数不会对字符串字面量中的转义序列进行求值。你可以将 \xXX 替换为 %XX,将 \uXXXX 替换为 %uXXXX,以获得一个可以被 unescape() 处理的字符串。

示例

使用 unescape()

js
unescape("abc123"); // "abc123"
unescape("%E4%F6%FC"); // "äöü"
unescape("%u0107"); // "ć"

规范

Specification
ECMAScript® 2025 Language Specification
# sec-unescape-string

浏览器兼容性

Report problems with this compatibility data on GitHub
desktopmobileserver
Chrome
Edge
Firefox
Opera
Safari
Chrome Android
Firefox for Android
Opera Android
Safari on iOS
Samsung Internet
WebView Android
WebView on iOS
Deno
Node.js
unescape
Deprecated

Legend

Tip: you can click/tap on a cell for more information.

Full support
Full support
Deprecated. Not for use in new websites.

参见