如何在Python中检查一个字符串是否为ASCII?

如何在Python中检查一个字符串是否为ASCII?

最简单的方法是循环遍历字符串中的每个字符,并检查每个字符是否是ASCII字符。

示例

def is_ascii(s):
    return all(ord(c) < 128 for c in s)
print is_ascii('ӓmsterdӒm')

输出

这将给出输出结果:

False

但是这种方法非常低效。更好的方法是使用str.decode(‘ascii’)对字符串进行解码并检查是否出现异常。

示例

mystring = 'ӓmsterdӓm'
try:
    mystring.decode('ascii')
except UnicodeDecodeError:
    print "这不是一个ASCII编码的字符串"
else:
    print "这可能是一个ASCII编码的字符串"

输出

这将给出输出结果:

这不是一个ASCII编码的字符串

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程