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