編碼和解碼

// decode
NSString *string = [[NSString alloc] initWithData:utf8Data
                                         encoding:NSUTF8StringEncoding];

// encode
NSData *utf8Data = [string dataUsingEncoding:NSUTF8StringEncoding];

一些支援的編碼是:

  • NSASCIIStringEncoding
  • NSUTF8StringEncoding
  • NSUTF16StringEncoding(== NSUnicodeStringEncoding

請注意,utf8Data.bytes 不包含終止空字元,這對於 C 字串是必需的。如果你需要 C 字串,請使用 UTF8String

const char *cString = [string UTF8String];
printf("%s", cString);