我正在寻找用于终端输出的等价物urlencode --我需要确保我(可能)从外部源打印的垃圾字符不会最终对我的终端造成影响,因此用来转义特殊字符序列的预打包函数将是理想的。
我在Python中工作,但我可以轻松翻译的任何东西也可以工作。蒂娅!
发布于 2009-01-12 23:49:54
不幸的是,“终端输出”是一个定义很差的过滤标准(参见question 418176)。我建议简单地将您想要允许的字符列入白名单(这将是string.printable的大部分),并将所有其他字符替换为您喜欢的任何转义格式(\FF、%FF等),或者甚至简单地将它们剥离。
发布于 2009-01-13 21:38:23
如果要记录或打印调试输出,我通常使用repr()来获得对象的无害的可打印版本,包括字符串。这可能不是您想要的,也可能不是您想要的;其他人在其他答案中使用的cat --show-nonprinting方法更适合于大量多行输出。
x = get_weird_data()
print repr(x)发布于 2009-01-12 23:40:17
你可以通过字符串来传递它。
./command | strings这将去掉非字符串字符
https://stackoverflow.com/questions/437476
复制相似问题