あなたが遭遇する問題は、ユニコードが同じシンボルを構成するための複数の方法を可能にするということです。 Pythonモジュールunicodedata
関数normalize
を提供します これにより、Unicode表現を固定のform
に変換できます。 (例:NFC)
from unicodedata import normalize
S1 = b'\xc4\x83\xcc\x83'.decode('UTF-8')
S2 = b'\xe1\xba\xb5'.decode('UTF-8')
print(normalize('NFC', S1).encode('UTF-8'))
print(normalize('NFC', S2).encode('UTF-8'))
あなたの例では、メモ帳がNFCを使用しているのに対し、トリップアドバイザーはNFD形式で表示されています。