2011-03-24 2 views
11

J'essaie de déterminer si une chaîne est basée en latin ou en japonais.Comment déterminer si un NSString est basé en latin?

J'ai essayé quelque chose comme ce qui suit, mais il retourne YES pour les chaînes japonaises ainsi:

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

Une chaîne peut être un mot comme « café » ou quelque chose comme « カ フ ェ » ou « 喫茶 店 ».

Répondre

18

Utilisez la méthode canBeConvertedToEncoding:. Par exemple:

BOOL isLatin = [myString canBeConvertedToEncoding:NSISOLatin1StringEncoding]; 

encodages sont disponibles here.

+0

Cela aide, merci. – Louis

Questions connexes