获取Unicode字符中字符串的“实际”长度
给定一个字符,比如 "✮
" (\xe2\x9c\xae
),也可以是其他字符,比如 "Σ
"、"д
" 或 "Λ
",我想知道这个字符在屏幕上显示时的“实际”长度。
举个例子:
len("✮")
len("\xe2\x9c\xae")
这两种方法都返回3,但实际上应该是1。
2 个回答
3
你可以试试这样做:
unicodedata.normalize('NFC', u'✮')
len(u"✮")
UTF-8是一种编码方式,用来表示各种字符。对于一些特殊字符,它会使用多个字节来表示。你可以查看一下 unicodedata.normalize() 这个函数。