最近我一直在处理混合语言的文本,包括中文,英文,甚至一些表情符号。
我一直在寻找这个问题很多,但我唯一能找到的是“用半角字符替换全角字符”,而不是告诉你如何确定角色是否是一半 - 或全角词。
所以,我的问题是:
是否可以判断某个字是半宽还是全宽?
答案 0 :(得分:2)
在unicode 6.1中,有一个块Halfwidth and Fullwidth forms
,pdf here。
在此块中,\uFF01-\uFF60
和\uFFE0-\uFFE6
为全宽,而\uFF61-\uFFDC
和\uFFE8-\uFFEE
为半宽。
答案 1 :(得分:1)
我认为这是一个难以回答的问题,除非你有一个明确的标准,即什么是半角字符和什么是全角字符。如果您可以决定,那么您可以在Unicode(或任何编码方案)中针对特定范围测试单词中的字符。
Unicode块Halfwidth and Fullwidth Forms仅显示哪些字符具有替代形式。对于此块中没有的任何功能,您必须决定您考虑的半宽和全宽。
我认为大多数西方字符是半宽的,大多数东方字符是全角的,但两者都有例外。由于this Unicode report突出显示,也存在歧义。
This proposal包括code,似乎将字符划分为全半宽和不明确宽度。您可以将这些代码点用作起始位置。
答案 2 :(得分:0)
如果单词的字符是全角,则该单词为全角。您需要查找unicode规范并查看哪个字符范围是全角,然后检查每个字符。