📜  Python|检查 ASCII字符串(1)

📅  最后修改于: 2023-12-03 14:46:29.328000             🧑  作者: Mango

Python | 检查 ASCII 字符串

在 Python 中,我们可以使用内置的 isascii() 方法来检查一个字符串是否只包含 ASCII 字符。ASCII 字符是指使用 7 位二进制数字编码的 128 个基本字符,包括字母、数字、符号和控制字符。

示例代码
def is_ascii(s: str) -> bool:
    return all(ord(c) < 128 for c in s)

test_cases = [
    ("Hello, World!", True),        # 正常的 ASCII 字符串
    ("こんにちは", False),           # 包含非 ASCII 字符的字符串
    ("   ", True),                  # 空格也是 ASCII 字符
    ("Test\n", False),              # 包含换行符的字符串
]

for s, expected in test_cases:
    assert is_ascii(s) == expected
解释

代码中定义了一个 is_ascii() 函数来判断字符串是否只包含 ASCII 字符。这个函数中使用了内置的 ord() 方法来获取字符的 ASCII 码值,然后按照定义的范围进行判断,如果都在 0-127 的范围内,则字符串包含的都是 ASCII 字符,返回 True,否则返回 False

在代码中还定义了一组测试用例来验证函数的正确性,包括正常的 ASCII 字符串、包含非 ASCII 字符的字符串、空格字符串和包含换行符的字符串等,都得到了正确的结果。

结论

在 Python 中,使用内置的 isascii() 方法来检查一个字符串是否只包含 ASCII 字符非常简单,如同我们介绍的 is_ascii() 函数一样。如果你需要检查一个字符串是否是 ASCII 字符串,那么就可以使用这个方法来进行判断。