UTF-8德国Umlaut具有两个不同的字节码表示



在UTF-8中,德语字母"Ö"有两种形式,一种是:B' xc3 xb6',另一个是b'o xcc x88'

以下代码在Python 3.6.3

In [1]: b'xc3xb6'.decode('utf-8')
Out[1]: 'ö'
In [2]: b'oxccx88'.decode('utf-8')
Out[2]: 'ö'

这将导致搜索使用"Ö"单词的问题。如何将第二种形式转换为第一个形式?

通过Unicode归一化运行它。使用NFC作为 form

最新更新