判断NSString中的字符是不是为中文的正确方法

场景:【iOS开发】判断NSString中的字符是不是为中文的正确方法

【iOS开发】判断NSString中的字符是否为中文的正确方法
在Unicode编码的NSString中,如何遍历字符串中的汉字呢?网上查了很多方法,几乎都是这一种:
unichar ch = [string characterAtIndex:i];
if (0x4e00 < ch  && ch < 0x9fff)
{
    return true;
}

这样的确可以判断大多数中文符号,但是少数字符比如句号“。”
在unichar存储的16进制值要小于0x4e00,查了很多资料试了很多例子发现只有这样判断才是正确的:
#define IS_CH_SYMBOL(chr) ((int)(chr)>127)
在这我写了一个宏,方便使用。这样就能判断出所有的宽字符了。另外,在windows平台下,C#中也存在同样的问题。希望可以帮到需要的人。