【发布时间】:2015-06-01 10:18:37
【问题描述】:
我想让一个包含不可打印字符的文件只包含可打印字符。我认为这个问题与ACSCII control action 有关,但我找不到解决方案,也无法理解以下文件中.[16D(ASCII 控制操作字符??)的含义。
输入文件的十六进制转储:
00000000: 4845 4c4c 4f20 5448 4953 2049 5320 5448 HELLO THIS IS TH
00000010: 4520 5445 5354 1b5b 3136 4420 2020 2020 E TEST.[16D
00000020: 2020 2020 2020 2020 2020 201b 5b31 3644 .[16D
00000030: 2020
当我在bash 上cated 那个文件时,我刚刚得到:“HELLO”。我认为这是因为默认 cat 解释了 ASCII 控制操作,两个 .[16Ds。
为什么两个.[16D 字符串会生成cat FILE 只是为了打印“HELLO”?以及...我怎样才能使该文件仅包含可打印字符,即“HELLO”?
【问题讨论】:
-
你试过 string.printable 了吗?
-
不知道为什么python标签....
-
在大多数 *nix 系统上,当然在任何 GNU 系统上,都应该有一个strings 命令。
-
string.printable 不工作。在问这个之前我已经试过了。