最近我一直在处理混合语言的文本,包括中文、英文,甚至一些表情符号。
我一直在寻找这个问题很多,但我唯一能找到的是“用半角字符替换全角字符”而不是告诉你如何确定字符是半角还是全角 -宽词。
所以,我的问题是:
是否可以判断一个单词是半角还是全角?
最近我一直在处理混合语言的文本,包括中文、英文,甚至一些表情符号。
我一直在寻找这个问题很多,但我唯一能找到的是“用半角字符替换全角字符”而不是告诉你如何确定字符是半角还是全角 -宽词。
所以,我的问题是:
是否可以判断一个单词是半角还是全角?
在 unicode 6.1 中,这里有 block Halfwidth and Fullwidth forms
, pdf。
在这个块内,\uFF01-\uFF60
和\uFFE0-\uFFE6
是全角的,而\uFF61-\uFFDC
和\uFFE8-\uFFEE
是半角的。
我认为这是一个很难回答的问题,除非您对什么是半角字符和什么是全角字符有明确的标准。如果您可以决定,那么您可以根据 Unicode(或任何编码方案)中的某些范围测试单词中的字符。
Unicode 块半角和全角形式仅向您显示哪些字符具有替代形式。对于此块中没有的任何内容,您必须决定您认为什么是半角和全角。
我想大多数西方字符是半角,大多数东方字符是全角,但两者都会有例外。正如这份 Unicode 报告强调的那样,也存在歧义。
如果一个单词的字符是全角的,那么它就是全角的。您需要查找 unicode 规范并查看哪些字符范围是全角的,然后检查每个字符。