如何检查 Python 中的 ANSI 字符

How to check for ANSI character in Python

我正在尝试验证一组字符串以报告非法 ANSI 字符的使用。我读到 extended ASCII NOTANSI 完全相似。我一直在尝试寻找一种方法来检查字符是否为 ANSI 字符,但到目前为止我找到了 none。有谁知道如何在 Python 中执行此操作?

这可能会帮助您检测文本中的任何 ANSI 字符:

split_ANSI_escape_sequences = re.compile(r"""
    (?P<col>(\x1b     # literal ESC
    \[       # literal [
    [;\d]*   # zero or more digits or semicolons
    [A-Za-z] # a letter
    )*)
    (?P<name>.*)
    """, re.VERBOSE).match

def split_ANSI(s):
    return split_ANSI_escape_sequences(s).groupdict()

问题上找到此代码。

尝试使用 ord(c) 函数:

def detect_non_printable(s):
    for c in s: 
        n = ord(c)
        if n < 32 or n > 126: 
           return "NON-PRINTABLE DETECTED" 
    return "PRINTABLE CHARS ONLY"