当前位置:首页 > JavaScript

js unescape实现

2026-04-07 02:38:20JavaScript

JavaScript 中的 unescape 函数

unescape 是一个已弃用的 JavaScript 全局函数,用于解码由 escape 函数编码的字符串。它将十六进制编码的字符序列转换回原始字符。

js unescape实现

基本用法

const encodedStr = 'Hello%20World%21';
const decodedStr = unescape(encodedStr);
console.log(decodedStr); // 输出: "Hello World!"

编码规则

  • unescape 解码 %xx 形式的十六进制序列(xx 为两位十六进制数),例如 %20 解码为空格。
  • 如果输入 %uXXXX(Unicode 编码),现代浏览器可能不支持,unescape 会直接返回原字符串。

替代方案

由于 unescape 已弃用,推荐使用 decodeURIdecodeURIComponent

js unescape实现

const encodedStr = 'Hello%20World%21';
const decodedStr = decodeURIComponent(encodedStr);
console.log(decodedStr); // 输出: "Hello World!"

区别

  1. unescape

    • 仅解码 %xx 形式的 ASCII 字符。
    • 不处理 UTF-8 编码的 URI 特殊字符(如 %2F 对应 /)。
  2. decodeURIComponent

    • 解码完整的 URI 组件(包括 %xx 和特殊字符)。
    • 是更安全的现代替代方案。

注意事项

  • 非标准函数,仅保留用于向后兼容。
  • 在严格模式('use strict')下可能报错。
  • 对于复杂编码场景(如 Unicode),建议使用 decodeURIComponentTextDecoder API。

示例:手动实现 unescape

function customUnescape(str) {
  return str.replace(/%([0-9A-F]{2})/gi, (match, hex) => {
    return String.fromCharCode(parseInt(hex, 16));
  });
}
console.log(customUnescape('Hello%20World%21')); // 输出: "Hello World!"

标签: jsunescape
分享给朋友:

相关文章

js实现轮播

js实现轮播

实现轮播图的基本思路 轮播图的核心逻辑是通过定时切换展示的图片或内容,通常结合左右滑动按钮和指示器(小圆点)增强交互性。以下是基于原生JavaScript的实现方法。 HTML结构 构建轮播图的HT…

js实现倒计时

js实现倒计时

使用 setInterval 实现倒计时 通过 setInterval 定时器每秒更新剩余时间,适用于简单倒计时场景。 function countdown(seconds, callback) {…

js实现图片上传

js实现图片上传

图片上传的基本实现 使用HTML的<input type="file">元素配合JavaScript的File API可以实现图片上传功能。HTML部分需要创建一个文件选择输入框和一个用于…

js实现图片

js实现图片

图片加载与显示 在JavaScript中,可以通过Image对象动态加载图片。创建实例后设置src属性触发加载,通过onload回调处理加载完成后的操作: const img = new Ima…

js 实现滚动

js 实现滚动

实现滚动的方法 使用 window.scrollTo() window.scrollTo() 方法可以滚动到文档中的特定位置。可以指定 x 和 y 坐标,或者使用平滑滚动的选项。 // 滚动到指定位…

js实现上传文件

js实现上传文件

文件上传的基本实现 使用HTML的<input type="file">元素配合JavaScript的File API可以实现文件上传功能。 <input type="file"…