วิธีที่ง่ายที่สุดคือวนรอบอักขระในสตริงและตรวจสอบว่าอักขระแต่ละตัวเป็น 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