如何将带有元素utf8字符串的数组转换为NSArray,并在目标c中使用元素utf8字符串

时间:2013-06-17 15:28:44

标签: objective-c

变量utfStringArray是类型unsigned char **并指向一些UTF-8字符串。如何在不使用NSArray *的情况下将此数组转换为具有相同字符串的NSString *类型?

1 个答案:

答案 0 :(得分:0)

我认为utfStringArrayNULL终止,否则您需要单独提供元素计数。我也在假设ARC。注意我使用的是NSData,因为您已规定NSString无法使用(出于某种原因):

unsigned char **utfStringArray = ...;
NSMutableArray *array = [[NSMutableArray alloc] init];
for (unsigned i = 0; utfStringArray[i] != NULL; i++)
{
    NSData *data = [NSData dataWithBytes:utfStringArray[i] 
                                  length:strlen(utfStringArray[i])];
    [array addObject:data];
}