Computer >> 컴퓨터 >  >> 프로그램 작성 >> Python

Python의 문자열이 ASCII인지 확인하는 방법은 무엇입니까?


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