如何将 [NSString dataUsingEncoding:NSUTF8StringEncoding allowLossyConversion:YES] 结果转换为 C 字符串?


- (NSData *)dataUsingEncoding:(NSStringEncoding)encoding allowLossyConversion:(BOOL)flag

最佳答案

NSMutableData *data = [[@"foo" dataUsingEncoding:NSUTF8StringEncoding allowLossyConversion:YES] mutableCopy];
char nul = '\0';
[data appendBytes:&nul length:sizeof(nul)];
const char *cString = [data bytes];

或者,简单地说:
const char *cString = [@"foo" UTF8String];

...完全相同的结果。

关于ios - 如何将 NSData 转换为 C 字符串?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23679436/

10-10 21:52