当前位置:首页 > JavaScript

js escape python实现

2026-02-03 03:50:34JavaScript

实现 JavaScript 的 escape() 函数在 Python 中的等效功能

JavaScript 的 escape() 函数用于对字符串进行编码,将非 ASCII 字符转换为 Unicode 转义序列。以下是在 Python 中实现类似功能的几种方法。

使用 urllib.parse.quote_plus

urllib.parse.quote_plus 可以对字符串进行 URL 编码,类似于 JavaScript 的 escape() 函数,但编码规则略有不同。

from urllib.parse import quote_plus

def js_escape(text):
    return quote_plus(text)

# 示例
print(js_escape("Hello World 你好"))  # 输出: Hello+World+%E4%BD%A0%E5%A5%BD

自定义实现

如果需要更接近 JavaScript 的 escape() 行为,可以手动实现编码逻辑。JavaScript 的 escape() 会对非字母数字字符(除 @*_+-./ 外)进行编码。

def js_escape(text):
    result = []
    for char in text:
        if char.isalnum() or char in "@*_+-./":
            result.append(char)
        else:
            result.append("%{:02X}".format(ord(char)))
    return ''.join(result)

# 示例
print(js_escape("Hello World 你好"))  # 输出: Hello%20World%20%u4F60%u597D

处理 Unicode 字符

JavaScript 的 escape() 对 Unicode 字符会转换为 %uXXXX 格式。以下是一个更接近 JavaScript 行为的实现:

def js_escape(text):
    result = []
    for char in text:
        code = ord(char)
        if code < 128 and (char.isalnum() or char in "@*_+-./"):
            result.append(char)
        elif code < 256:
            result.append("%{:02X}".format(code))
        else:
            result.append("%u{:04X}".format(code))
    return ''.join(result)

# 示例
print(js_escape("Hello World 你好"))  # 输出: Hello%20World%20%u4F60%u597D

使用 json.dumps

json.dumps 可以对字符串进行 Unicode 转义,但格式与 JavaScript 的 escape() 不同。

import json

def js_escape(text):
    return json.dumps(text)[1:-1].replace('\\u', '%u')

# 示例
print(js_escape("Hello World 你好"))  # 输出: Hello World %u4f60%u597d

注意事项

  • JavaScript 的 escape() 已被废弃,推荐使用 encodeURIComponentencodeURI
  • Python 的实现可能无法完全匹配 JavaScript 的行为,具体取决于使用场景。
  • 如果需要严格的兼容性,建议参考 JavaScript 的编码规则进行定制实现。

js escape python实现

标签: jsescape
分享给朋友:

相关文章

js 实现倒计时

js 实现倒计时

实现倒计时的基本方法 使用 JavaScript 实现倒计时可以通过 setInterval 或 setTimeout 结合日期计算来完成。以下是两种常见实现方式。 使用 setInterval…

jquery.js

jquery.js

jQuery 是一个快速、简洁的 JavaScript 库,简化了 HTML 文档遍历、事件处理、动画设计和 Ajax 交互等操作。以下是关于 jQuery.js 的核心信息和使用方法: 获取…

js实现图表

js实现图表

在JavaScript中实现图表通常使用流行的图表库,以下是几种常见的方法和工具: 使用Chart.js Chart.js是一个简单灵活的库,适合快速生成响应式图表。安装方式包括CDN引入或npm…

js实现vr

js实现vr

使用WebXR API实现VR体验 WebXR是浏览器中实现VR和AR体验的标准API,它取代了早期的WebVR。现代浏览器如Chrome、Edge和Firefox已支持WebXR。 // 初始化…

jquery js

jquery js

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

js实现祖玛

js实现祖玛

实现祖玛游戏的核心思路 祖玛游戏的核心玩法是发射彩色珠子,形成三个或以上相同颜色的珠子即可消除。以下是使用JavaScript实现的基本框架。 游戏初始化 创建画布并初始化游戏状态: cons…