我不能让这个工作:
NSString *string = @"!#€%&/()*^*_:;;:;_poawolwasnndaw";
NSData *stringData = [string dataUsingEncoding:NSASCIIStringEncoding allowLossyConversion:NO];
Run Code Online (Sandbox Code Playgroud)
stringData将为nil.为什么?
根据文档,设置allowLossyConversion:NO产生以下潜在行为:
如果flag为NO,则返回nil,并且在不丢失某些信息(例如重音或大小写)的情况下无法转换接收器.
在这种情况下,上面的欧元符号没有ASCII等价物,因此整个结果将返回nil.