python 怎么判断一个字符是否为全角还是半角?

2016-12-11 09:24:38 +08:00
 vtoexsir

如题, 怎么判断一个字符是否为全角还是半角? 多谢您的回复!

5727 次点击
所在节点    Python
8 条回复
fy
2016-12-11 09:29:12 +08:00
ord 一下 看是不是在 255 以下?
veelog
2016-12-11 09:37:29 +08:00
判断字符宽度
Khlieb
2016-12-11 09:45:58 +08:00
按编码
crab
2016-12-11 10:04:21 +08:00
ASCII 大于 128
staticor
2016-12-12 11:19:30 +08:00
参考 http://stackoverflow.com/questions/10959227/how-to-distinguish-whether-a-word-is-half-width-or-full-width

半角字符使用 ord 返回对应的值, 全角字符使用 ord 会报异常.

也可以使用 unicode 值判断
vtoexsir
2016-12-12 18:50:38 +08:00
转为 gb18030 编码,然后查看长度,等于 2 的就是全角,等于 1 的就是半角,这也是全角半角的本意吧
type
2016-12-13 17:25:53 +08:00
使用 len() 方法,返回字符长度,长度为 1 的是半角,长度为 2 为全角。

不知这样是否可行?
m3ng9i
2020-07-03 23:20:51 +08:00
import unicodedata

unicodedata.east_asian_width('我') # W (宽)
unicodedata.east_asian_width('i') # Na (窄)

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/326777

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX