当我们相信 Python 3 在 Unicode 上一切正常时,当我遇到这种情况时,我感到很惊讶。
>>> amma = "அம்மா"
>>> amma
'அம்மா'
>>> len(amma)
5
显然泰米尔语字符串"அம்மா"
有 3 个字母,返回值 5 表示len("அம்மா")
绝对不能接受或赞赏。
其他 Dravidian 或 Brahmic 脚本如何解决此问题以获得正确的字符串长度?
编辑#1:考虑到@joey 的评论,这个问题可以改写如下。
如何在 Python 中计算字形长度?
我们知道 Swift 或 Perl6 默认会这样做
2> let amma = "அம்மா".characters.count
amma: Distance = 3