首页 > 解决方案 > 如何解析Linux输入/输出ASCII与控制图最终字符串,使用golang或python或shell

问题描述

我有一个十六进制 ASCII 图表 A 并且在 A 中有许多控制图表,像这样

A = 0d1b5b374028726576657273652d692d7365617263682960273a1b5b430808086c273a206c73202f6f70742f7372632f70662d72696e672d746573742f746573742e676f0d1b5b431b5b431b5b431b5b431b5b431b5b431b5b431b5b431b5b431b5b431b5b431b5b431b5b431b5b431b5b431b5b431b5b431b5b431b5b431b5b431b5b431b5b431b5b430808081b5b3140731b5b431b5b431b5b431b5b431b5b431b5b431b5b431b5b431b5b431b5b431b5b431b5b431b5b431b5b431b5b431b5b431b5b431b5b431b5b431b5b431b5b431b5b431b5b431b5b431b5b431b5b431b5b431b5b431b5b431b5b431b5b431b5b431b5b431b5b431b5b43200d1b5b431b5b431b5b431b5b431b5b431b5b431b5b431b5b431b5b431b5b431b5b431b5b431b5b431b5b431b5b431b5b431b5b431b5b431b5b431b5b431b5b431b5b431b5b431b5b431b5b431b5b431b5b4b08081b5b431b5b43202f6f70742f0808080808080808

我执行命令

echo "0d1b5b374028726576657273652d692d7365617263682960273a1b5b430808086c273a206c73202f6f70742f7372632f70662d72696e672d746573742f746573742e676f0d1b5b431b5b431b5b431b5b431b5b431b5b431b5b431b5b431b5b431b5b431b5b431b5b431b5b431b5b431b5b431b5b431b5b431b5b431b5b431b5b431b5b431b5b431b5b430808081b5b3140731b5b431b5b431b5b431b5b431b5b431b5b431b5b431b5b431b5b431b5b431b5b431b5b431b5b431b5b431b5b431b5b431b5b431b5b431b5b431b5b431b5b431b5b431b5b431b5b431b5b431b5b431b5b431b5b431b5b431b5b431b5b431b5b431b5b431b5b431b5b43200d1b5b431b5b431b5b431b5b431b5b431b5b431b5b431b5b431b5b431b5b431b5b431b5b431b5b431b5b431b5b431b5b431b5b431b5b431b5b431b5b431b5b431b5b431b5b431b5b431b5b431b5b431b5b4b08081b5b431b5b43202f6f70742f0808080808080808" |python -c "s = raw_input().decode('hex'); print(str(s))"

(reverse-i-search)`ls': ls /opt/

我得到结果“(reverse-i-search)`ls':ls /opt/”,但结果中有很多控制图。当我这样执行时

echo "0d1b5b374028726576657273652d692d7365617263682960273a1b5b430808086c273a206c73202f6f70742f7372632f70662d72696e672d746573742f746573742e676f0d1b5b431b5b431b5b431b5b431b5b431b5b431b5b431b5b431b5b431b5b431b5b431b5b431b5b431b5b431b5b431b5b431b5b431b5b431b5b431b5b431b5b431b5b431b5b430808081b5b3140731b5b431b5b431b5b431b5b431b5b431b5b431b5b431b5b431b5b431b5b431b5b431b5b431b5b431b5b431b5b431b5b431b5b431b5b431b5b431b5b431b5b431b5b431b5b431b5b431b5b431b5b431b5b431b5b431b5b431b5b431b5b431b5b431b5b431b5b431b5b43200d1b5b431b5b431b5b431b5b431b5b431b5b431b5b431b5b431b5b431b5b431b5b431b5b431b5b431b5b431b5b431b5b431b5b431b5b431b5b431b5b431b5b431b5b431b5b431b5b431b5b431b5b431b5b4b08081b5b431b5b43202f6f70742f0808080808080808" |python -c "s = raw_input().decode('hex'); print(str(s))" | python -c "print(raw_input().encode('hex'))"

0d1b5b374028726576657273652d692d7365617263682960273a1b5b430808086c273a206c73202f6f70742f7372632f70662d72696e672d746573742f746573742e676f0d1b5b431b5b431b5b431b5b431b5b431b5b431b5b431b5b431b5b431b5b431b5b431b5b431b5b431b5b431b5b431b5b431b5b431b5b431b5b431b5b431b5b431b5b431b5b430808081b5b3140731b5b431b5b431b5b431b5b431b5b431b5b431b5b431b5b431b5b431b5b431b5b431b5b431b5b431b5b431b5b431b5b431b5b431b5b431b5b431b5b431b5b431b5b431b5b431b5b431b5b431b5b431b5b431b5b431b5b431b5b431b5b431b5b431b5b431b5b431b5b43200d1b5b431b5b431b5b431b5b431b5b431b5b431b5b431b5b431b5b431b5b431b5b431b5b431b5b431b5b431b5b431b5b431b5b431b5b431b5b431b5b431b5b431b5b431b5b431b5b431b5b431b5b431b5b4b08081b5b431b5b43202f6f70742f0808080808080808

结果与 A 相同。

如何从 ASCII 图表 A 中获取不包含控制 ASCII 图表的真实字符串“(reverse-i-search)`ls': ls /opt/”,如下所示

echo -e "(reverse-i-search)\`ls': ls /opt/" |  python -c "print(raw_input().encode('hex'))"

28726576657273652d692d73656172636829606c73273a206c73202f6f70742f

标签: pythonshellgoterminalascii

解决方案


推荐阅读