我对 unicode 字符串几乎没有经验。我什至不确定这是否符合标准。
在任何情况下,我都在使用 nmap 并运行:
# nmap -sV -O 192.168.0.8
对着我局域网中的一个盒子。Nmap 在从开放端口返回的几行中生成了一个字符串,但由于其格式,我无法理解很多输出。例如,一个小片段如下所示:
-Port8081-TCP:V=6.00%I=7%D=10/20%Time=52642C3A%P=i686-pc-linux-gnu%r(FourOhFourRequest,37,"HTTP/1\.1\x20503\x20Service\x20Unavailable\r\nContent-Length:\x200\r\n\r\n")%r
我的第一个想法是需要解码的 URL 编码,但这是不正确的。它看起来几乎像串行通信的填充?任何能够解释如何解释“\x200”或“\x20503”或其他经常出现的人都是“x\20”。
我考虑编写一个小的 Python 脚本来接收整个字符串并转换为 ASCII:
>>> s = '<STRING>'
>>> eval('\x20"'+s.replace('"', r'"')+'"').encode('ascii')
我在正确的轨道上吗?