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