最简单的方法是遍历字符串的字符并检查每个字符是否为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 "Not an ASCII-encoded string" else: print "May be an ASCII-encoded string"
输出结果
这将给出输出:
Not an ASCII-encoded string