如何检查 Python 中的 ANSI 字符
How to check for ANSI character in Python
我正在尝试验证一组字符串以报告非法 ANSI 字符的使用。我读到 extended ASCII NOT 与 ANSI 完全相似。我一直在尝试寻找一种方法来检查字符是否为 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"
我正在尝试验证一组字符串以报告非法 ANSI 字符的使用。我读到 extended ASCII NOT 与 ANSI 完全相似。我一直在尝试寻找一种方法来检查字符是否为 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"