Iphone 目标C:unichar vs.char
我对unichar和char有点困惑。我能把unichar的和char的相似吗 例如,我可以这样做:Iphone 目标C:unichar vs.char,iphone,c,objective-c,unicode,Iphone,C,Objective C,Unicode,我对unichar和char有点困惑。我能把unichar的和char的相似吗 例如,我可以这样做: -(BOOL)isNewLine:(unichar)c { if(c == '\n') return YES; else return NO; } 是的,unichar在内部是无符号的短字符,因此您可以有意义地将其与字符进行比较(如果后者是ASCII,但这对'\n'很好)。请仔细检查新行,确保您知道行尾的格式,就像Unix(和现代Mac)使用的那样\n,但是Windows使用\r\
-(BOOL)isNewLine:(unichar)c {
if(c == '\n')
return YES;
else
return NO;
}
是的,unichar在内部是无符号的短字符,因此您可以有意义地将其与字符进行比较(如果后者是ASCII,但这对
'\n'
很好)。请仔细检查新行,确保您知道行尾的格式,就像Unix(和现代Mac)使用的那样\n,但是Windows使用\r\n和经典的MAC使用\r.比较UNICHARS时,请考虑使用:
if ([[NSCharacterSet newlineCharacterSet] characterIsMember:unicharCharacter])
{
//any type of newline
}
else
{
//etc
}
然后,您将捕获所有类型的换行符,并可以轻松修改代码以匹配不同的字符集(如空格和换行符集)
这是unichars的最大优势。谢谢。我发现了一个类NSCharacterSet,它有一个静态方法来生成NSNewlineCharacterSet,我可以与之进行比较。