2017-11-03 28 views
0

2 개의 문자열을 비교해야합니다. aa은 PDF 파일 (pdfminer/chardet 사용)에서 추출되며 bb은 키보드 입력입니다. 어떻게하면 첫 번째 문자열을 표준화하여 컴파일을 할 수 있습니까?파이썬 3 유니 코드 문자열을 "정규화"하는 방법

>>> aa = "ā" 
>>> bb = "ā" 
>>> aa == bb 
False 
>>> 
>>> aa.encode('utf-8') 
b'\xc4\x81' 
>>> bb.encode('utf-8') 
b'a\xcc\x84' 

답변

0

당신은 unicodedata.normalize으로 정상화 :

>>> aa = b'\xc4\x81'.decode('utf8') 
>>> bb = b'a\xcc\x84'.decode('utf8') 
>>> aa 
'ā' 
>>> bb 
'ā' 
>>> aa == bb 
False 
>>> import unicodedata as ud 
>>> aa == ud.normalize('NFC',bb) 
True