以Unicode字符获取字符串的“实际”长度

2024-05-18 15:20:04 发布

您现在位置:Python中文网/ 问答频道 /正文

例如,给定一个像“”(\xe2\x9c\xae)这样的字符,可以是“Σ”、“д”或“Λ”)之类的字符,我想找出字符在屏幕上打印时的“实际”长度

例如

len("✮")
len("\xe2\x9c\xae")

两者都返回3,但应该是1


Tags: len屏幕字符xe2x9cxae
2条回答

你可以这样做:

unicodedata.normalize('NFC', u'✮')
len(u"✮")

UTF-8是一种unicode编码,对特殊字符使用多个字节。检查unicodedata.normalize()

我的answersimilar question

您正在从当前输出上下文中查找呈现宽度。对于图形ui,通常有一种方法可以直接查询这些信息;对于文本环境,您所能做的就是猜测一致性呈现引擎可能会做什么,并希望实际引擎符合您的期望。在

相关问题 更多 >

    热门问题