You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将含String.fromCharCode的JavaScript函数转换为原生Python代码?

将JavaScript的ROT13转换函数转为原生Python代码

原JavaScript函数实现的是ROT13加密算法,对输入字符串中的英文字母做如下处理:

  • A-M(含大小写):ASCII码加13,向后位移13位
  • N-Z(含大小写):ASCII码减13,向前位移13位
  • 非字母字符保持不变

实现方式一:逐字符处理(与原JS逻辑完全对应)

def replac_ch(a):
    output = []
    for char in a:
        if char.isalpha():
            upper_char = char.upper()
            # 判断字符是否属于A-M区间
            if upper_char <= 'M':
                shifted_code = ord(char) + 13
            else:
                shifted_code = ord(char) - 13
            output.append(chr(shifted_code))
        else:
            output.append(char)
    return ''.join(output)

实现方式二:利用字符串转换表(更Pythonic、高效)

Python的str.translate方法可以通过转换表批量处理字符,这种方式效率更高,代码更简洁:

def replac_ch(a):
    # 构建ROT13字符映射表
    rot13_map = str.maketrans(
        'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz',
        'NOPQRSTUVWXYZABCDEFGHIJKLMnopqrstuvwxyzabcdefghijklm'
    )
    return a.translate(rot13_map)

两种方式都能实现原JS函数的功能,示例验证:

print(replac_ch("Hello World!"))  # 输出: Uryyb Jbeyq!

内容的提问来源于stack exchange,提问作者Alholi Hamed

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.17 15:00:53