Подтвердить что ты не робот

Как определить, является ли NSString латинским?

Я пытаюсь определить, является ли строка латинской или японской.

Я пробовал что-то вроде следующего, но он возвращает YES для японских строк:

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

Строкой может быть слово "кафе" или что-то вроде "カ フ ェ" или "喫茶 店".

4b9b3361

Ответ 1

Используйте метод canBeConvertedToEncoding:. Например:

BOOL isLatin = [myString canBeConvertedToEncoding:NSISOLatin1StringEncoding];

Доступные кодировки здесь.