2024-05-18 15:20:04 发布
网友
例如,给定一个像“✮”(\xe2\x9c\xae)这样的字符,可以是“Σ”、“д”或“Λ”)之类的字符,我想找出字符在屏幕上打印时的“实际”长度
✮
\xe2\x9c\xae
Σ
д
Λ
例如
len("✮") len("\xe2\x9c\xae")
两者都返回3,但应该是1
你可以这样做:
unicodedata.normalize('NFC', u'✮') len(u"✮")
UTF-8是一种unicode编码,对特殊字符使用多个字节。检查unicodedata.normalize()
我的answer到similar question:
您正在从当前输出上下文中查找呈现宽度。对于图形ui,通常有一种方法可以直接查询这些信息;对于文本环境,您所能做的就是猜测一致性呈现引擎可能会做什么,并希望实际引擎符合您的期望。在
你可以这样做:
UTF-8是一种unicode编码,对特殊字符使用多个字节。检查unicodedata.normalize()
我的answer到similar question:
您正在从当前输出上下文中查找呈现宽度。对于图形ui,通常有一种方法可以直接查询这些信息;对于文本环境,您所能做的就是猜测一致性呈现引擎可能会做什么,并希望实际引擎符合您的期望。在
相关问题 更多 >
编程相关推荐