需要将所有 ASCII 控制字符列为单个字符的 .txt 文件 entities/symbols

Need .txt file that lists all ASCII Control Characters as single character entities/symbols

我说的控制字符可以在这里找到: http://ascii.cl/control-characters.htm

我需要控制字符作为它们的单个字符长度实体,而不是表示为 ASCII 代码或它们的符号的纯文本。

见下文...

如上图所示,在 sublime 和记事本文本编辑器中,我需要实际的符号,而不是它们的 ascii 代码。所以我需要第二个 invalid_chrs_list.

中显示的字符

有没有办法获取这些符号、在线某处的文件或我可以从中复制粘贴它们的网站?

编辑:

#Invalid characters ascii codes here (http://ascii.cl/control-characters.htm)
#invalid_chrs_list = [0,1,2,3,4,5,6,7,8,16,17,18,19,20,21,22,23,24,25,26,27] # ascii
#invalid_chrs_list = ['', ''] # real for acsii code 3 and 17 - NEED THE REST - Can't post these characters into Whosebug so just pretend their there like in my screenshot.
invalid_chrs_list = ['\x00','\x01','\x02','\x03','\x04','\x05','\x06','\x07','\x08','\x10','\x11','\x12','\x13','\x14','\x15','\x16','\x17','\x18','\x19','\x1a','\x1b'] # escaped

with open(file, 'rb') as f:
    # Iterate through the rows
    for row in f:
        # Catch invalid characters
        for char in row:
            if char in invalid_chrs_list: # <--- MAKE THIS FASTER
                print ('found')
                break

如果检查有效,替代循环会更快:

for char in invalid_chrs_list:
    if char in row:

我尝试在每个列表的 if char in invalid_chrs_list: 中使用 ord(char)chr(char),但我不确定如何将它们相互比较以验证匹配

编辑 - 解决方案: 下面代码中的列表是正确的列表,没有必要使用我在图像中显示的文字。

我在错误的地方寻找答案,感谢@Peteris 为我指明了正确的方向。

我需要将文件模式切换为文本:'r' 或者我需要使用 char.encode() 对正在检查的字符进行编码,以便正确检查文字。在我的例子中,我需要以二进制模式打开文件,所以我选择了 char.encode().

    invalid_chrs_list = ['\x00','\x01','\x02','\x03','\x04','\x05','\x06','\x07','\x08','\x10','\x11','\x12','\x13','\x14','\x15','\x16','\x17','\x18','\x19','\x1a','\x1b']

    with open('test.txt', 'rb') as f:
            # Iterate through the rows
            for row in f:
                    for char in invalid_chrs_list:
                            if char.encode() in row:
                                    print ('found')
                                    break

制作一个小程序,简单地将您想要的字节输出到文件,将它们从 ascii 代码转换为字节?

但我敢打赌,您不会真的想copy/paste将它们作为代码中的文字字符,它不能那样工作,例如换行符和其他; ascii 代码或转义表示是正确的方法。