The simplest way is to loop over the characters of the string and check if each character is ASCII or not.
example
def is_ascii(s):
return all(ord(c) < 128 for c in s)
print is_ascii('ӓmsterdӒm')Output
This will give the output:
False
But this method is very inefficient. A better way is to decode the string using str.decode('ascii') and check for exceptions.
example
mystring = 'ӓmsterdӓm'
try:
mystring.decode('ascii')
except UnicodeDecodeError:
print "Not an ASCII-encoded string"
else:
print "May be an ASCII-encoded string"Output
This will give the output:
Not an ASCII-encoded string