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

如何将给定数字字符串转换为对应ASCII可显示字符串?

调整方案与可运行代码

原代码问题点

  • 无需反转原始数字串:输入串"729799107101114"本身就是目标单词每个字符的ASCII值按顺序拼接的结果,反转操作会打乱原有顺序
  • 固定按两位拆分逻辑错误:ASCII值存在两位(65-90大写、97-99小写、32空格)和三位(100-122小写)两种长度,硬拆两位会得到不符合规则的无效数值

修正后代码

s = "729799107101114"
result = ""
index = 0
str_len = len(s)

while index < str_len:
    # 优先判断两位是否符合取值规则
    two_bit = int(s[index:index+2])
    if (65 <= two_bit <= 90) or (97 <= two_bit <= 99) or two_bit == 32:
        result += chr(two_bit)
        index += 2
    # 不符合则取三位(对应100-122区间的小写字母)
    else:
        three_bit = int(s[index:index+3])
        result += chr(three_bit)
        index += 3

print(result)

运行上述代码将直接输出期望结果Hacker。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 03:45:04