如何确定NSString是否基于拉丁语?

时间:2011-03-24 06:33:33

标签: iphone objective-c cocoa-touch

我正在尝试确定字符串是基于拉丁语还是日语。

我尝试了类似下面的内容,但它也为日语字符串返回YES:

NSCharacterSet *alphaSet = [NSCharacterSet alphanumericCharacterSet];
BOOL isAlpha = [[myStr stringByTrimmingCharactersInSet:alphaSet] isEqualToString:@""];

字符串可能是“café”之类的词或类似“カフェ”或“吃茶店”的字样。

1 个答案:

答案 0 :(得分:18)

使用canBeConvertedToEncoding:方法。例如:

BOOL isLatin = [myString canBeConvertedToEncoding:NSISOLatin1StringEncoding];

可用的编码为here