如何检查 Python 中的字符串是否为 ASCII?
ASCII 代表美国信息交换标准代码。ASCII 是一种字符编码系统,它为标准键盘上的每个字母、数字和符号分配一个唯一的数字。在 Python 中,每个字符都有一个基于 ASCII 代码的数值,可以使用 ord() 函数进行检查。在处理基于文本的数据以及编码或解码文本时,了解 ASCII 非常重要。
要检查 Python 中的字符串是否为 ASCII,可以使用 Python 中的内置字符串模块。
以下是一些检查字符串是否为 ASCII 的方法:
使用 isascii() 方法
示例
在此示例中,isascii() 方法检查字符串中的所有字符是否都是 ASCII 字符。如果字符串中的所有字符都是 ASCII,则该方法返回 True,并且该字符串被视为 ASCII。
my_string = "lorem ipsum" if my_string.isascii(): print("字符串为 ASCII") else: print("字符串不是 ASCII")
输出
字符串为 ASCII
使用正则表达式
示例
在此示例中,正则表达式 ^[\x00-\x7F]+$ 匹配任何仅包含 ASCII 字符的字符串。如果正则表达式与字符串匹配,则该字符串为 ASCII。
import re my_string = "lorem ipsum" if re.match("^[\x00-\x7F]+$", my_string): print("该字符串为 ASCII") else: print("该字符串不是 ASCII")
输出
该字符串为 ASCII
使用 ord() 函数
示例
在此示例中,ord() 函数用于获取字符串中每个字符的 ASCII 值。如果所有 ASCII 值都小于 128,则该字符串为 ASCII。
my_string = "lorem ipsum" is_ascii = all(ord(c) < 128 for c in my_string) if is_ascii: print("该字符串为 ASCII") else: print("该字符串不是 ASCII")
输出
该字符串为 ASCII
您可以使用以下任何一种方法来检查字符串是否为 ASCII。
以下是另外两个用于检查 Python 中的字符串是否为 ASCII 的代码示例:
示例
此代码示例使用 all() 函数和列表推导来检查所有字符字符串中的 ASCII 值小于 128。如果所有字符都满足此条件,则认为该字符串为 ASCII。
string1 = "lorem ipsum" if all(ord(c) < 128 for c in string1): print("字符串为 ASCII。") else: print("字符串不是 ASCII。")
输出
字符串为 ASCII。
示例
此代码示例定义了一个函数 is_ascii(),用于检查字符串中的所有字符是否都是可打印的 ASCII 字符。该函数使用 string.printable 常量,其中包含所有可打印的 ASCII 字符。如果字符串中的所有字符都是可打印的 ASCII 字符,则该函数返回 True,并且认为该字符串是 ASCII 格式的。
import string def is_ascii(s): return all(c in string.printable for c in s) string1 = "lorem ipsum" if is_ascii(string1): print("该字符串是 ASCII 格式的。") else: print("该字符串不是 ASCII 格式的。")
输出
该字符串是 ASCII 格式的。