Я не могу заставить это работать:
NSString *string = @"!#€%&/()*^*_:;;:;_poawolwasnndaw"; NSData *stringData = [string dataUsingEncoding:NSASCIIStringEncoding allowLossyConversion:NO];
stringData будет ноль. Почему?
Согласно документации, настройка allowLossyConversion:NO дает следующее потенциальное поведение:
allowLossyConversion:NO
Возвращает ноль, если флажок НЕТ и получатель не может быть преобразован без потери некоторой информации (например, ударения или регистра).
В этом случае приведенный выше символ евро не имеет эквивалента ASCII, поэтому весь результат вернется nil.
nil