字符“E\xcc\x81”( E\\xcc\\x81) 和“\xc3\x89”( \\xc3\\x89) 具有不同的代码点。它们看起来相同,但在测试匹配时结果是否定的。
不过,Python 可以对它们进行标准化:unicodedata.normalize('NFC', 'E\xcc\x81'.decode('utf-8')) == unicodedata.normalize('NFC', '\xc3\x89'.decode('utf-8'))返回True. 它打印为 \xc3\x89。
问题:有没有办法在纯 bash*中规范化字符串?我已经研究过了iconv,但据我所知它可以转换为 ascii,但没有标准化。
*GNU bash,版本 3.2.57(1)-release (x86_64-apple-darwin14))
\n