小编use*_*670的帖子

纯 bash 中的字符串规范化

字符“E\xcc\x81”( E\\xcc\\x81) 和“\xc3\x89”( \\xc3\\x89) 具有不同的代码点。它们看起来相同,但在测试匹配时结果是否定的。

\n\n

不过,Python 可以对它们进行标准化:unicodedata.normalize('NFC', 'E\xcc\x81'.decode('utf-8')) == unicodedata.normalize('NFC', '\xc3\x89'.decode('utf-8'))返回True. 它打印为 \xc3\x89。

\n\n

问题:有没有办法在纯 bash*中规范化字符串?我已经研究过了iconv,但据我所知它可以转换为 ascii,但没有标准化。

\n\n

*GNU bash,版本 3.2.57(1)-release (x86_64-apple-darwin14))

\n

unicode bash freebsd utf-8 iconv

5
推荐指数
1
解决办法
2801
查看次数

标签 统计

bash ×1

freebsd ×1

iconv ×1

unicode ×1

utf-8 ×1