如何return给定数字字符串后的ASCII字符串?

How to return the ASCII string after a given string of numbers?

为了打印 ASCII,我需要反转字符串,以便我所做的,然后以 41 11 等为例,并将其转换为 char。结果应该是一个词(在本例中,Hacker)

转换需要按照这个: 1.the 从 A 到 Z 的值范围是从 65 到 90 2.the a 到 z 的取值范围是 97 到 122 3.the space 字符的值为 32

你知道怎么做吗?

提前致谢!

这就是我目前得到的: 我得到 Unicode 字符

['41', '11', '01', '10', '17', '99', '99', '27'] 41 11 01 10 17 99 99 27 ) 抄送


s="729799107101114"

rs=s[::-1]

import re
new=re.findall('..',rs)
print(new)
n=""
for num in new:
    n+=num+" "
print(n)

j=''.join(chr(int(i)) for i in n.split())
print(j)

输入的数字显示在 ASCII 代码上。即 72H 字符。

那么结果是这样的:

s="72 97 99 107 101 114"
j=''.join(chr(int(i)) for i in s.split())
print(j)

[输出]

Hacker

[编辑]:

在这部分,我们将把数字标记为它,没有 space。

s="721111193211611132114101116117114110321161041013265836773733211511611410511010332971021161011143297321031051181011103211511611410511010332111102321101171099810111411563"
j=''
start=0
step=2
while start < len(s)-1:
    n=s[start:start+2]
    if 32<=int(n)<=99:
        start+=2
    if int(n)<32:
        n=s[start:start+3]
        start+=3        
    j=j+(chr(int(n)))
print(j)

[Output2:] 在这个序列号样本中我们会得到这句话:

How to return the ASCII string after a given string of numbers?

稍微不那么冗长的版本:

res = ''
start = end = 0
while end < len(s):
    end = start + 2 + (s[start] == '1')
    res += chr(int(s[start:end]))
    start = end