Cách đơn giản nhất là lặp lại các ký tự của chuỗi và kiểm tra xem mỗi ký tự có phải là ASCII hay không.
ví dụ
def is_ascii(s):
return all(ord(c) < 128 for c in s)
print is_ascii('ӓmsterdӒm') Đầu ra
Điều này sẽ cung cấp kết quả:
False
Nhưng phương pháp này rất kém hiệu quả. Một cách tốt hơn là giải mã chuỗi bằng str.decode ('ascii') và kiểm tra các ngoại lệ.
ví dụ
mystring = 'ӓmsterdӓm'
try:
mystring.decode('ascii')
except UnicodeDecodeError:
print "Not an ASCII-encoded string"
else:
print "May be an ASCII-encoded string" Đầu ra
Điều này sẽ cung cấp kết quả:
Not an ASCII-encoded string