가장 간단한 방법은 문자열의 문자를 반복하여 각 문자가 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