当前位置:首页 > JavaScript

js unescape实现

2026-04-07 02:38:20JavaScript

JavaScript 中的 unescape 函数

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

基本用法

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

编码规则

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

替代方案

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

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

区别

  1. unescape

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

    js unescape实现

    • 解码完整的 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实现图片轮播

实现基础图片轮播 使用HTML、CSS和JavaScript创建一个简单的图片轮播。HTML部分定义轮播容器和图片,CSS设置样式和动画效果,JavaScript处理轮播逻辑。 <div cl…

js jquery

js jquery

jQuery 简介 jQuery 是一个快速、简洁的 JavaScript 库,简化了 HTML 文档遍历、事件处理、动画设计和 Ajax 交互。它兼容多种浏览器,提供易于使用的 API,使开发者能够…

js实现选题

js实现选题

实现选题功能的JavaScript方法 基础实现方案 使用数组存储选项,通过随机索引选取: const options = ['选项A', '选项B', '选项C', '选项D']; const r…

利用js实现

利用js实现

使用 JavaScript 实现 在 JavaScript 中,可以通过多种方式实现功能,具体取决于需求。以下是几种常见的方法: 方法一:使用原生 JavaScript // 示例代码 funct…

链表实现js

链表实现js

链表的基本概念 链表是一种线性数据结构,由一系列节点组成,每个节点包含数据和一个指向下一个节点的指针(单向链表)或两个指针(双向链表)。与数组不同,链表在内存中非连续存储,插入和删除操作更高效,但随机…

js 实现页面刷新

js 实现页面刷新

使用 location.reload() location.reload() 是原生 JavaScript 提供的页面刷新方法。调用该方法会重新加载当前页面,相当于点击浏览器的刷新按钮。 // 基本…