1
所以我采取了数据文件,并将其编码为一个字符串:编码问题:一个NSString到一个NSDictionary的关键
///////////////////////////////
// Get the string
NSString* dataString = [[NSString alloc] initWithData:data
encoding:encoding];
NSLog(@"dataString = %@",dataString);
该文件是法语单词列表和NSLog
精细,显示出适当的口音(只是一个例子):现在
abandonnèrent
,在代码的第二天一部分,我借此NSString
的文件内容,并将其转换为一个字典的哪里话是键和对象是两个额外的字典:
///////////////////////////////
// Now parse the file (string)
NSMutableDictionary *mutableWordlist = [[NSMutableDictionary alloc] init];
int i = 0;
for (NSString *line in [dataString componentsSeparatedByString:@"\n"]) {
NSArray *words = [line componentsSeparatedByString:@"\t"];
NSNumber *count = [NSNumber numberWithInt:(i+1)];
NSArray *keyArray;
NSArray *objectArray;
if ([words count] < 2) { // No native word
keyArray = [[NSArray alloc] initWithObjects:@"frequency", nil];
objectArray = [[NSArray alloc] initWithObjects:count, nil];
}
else {
keyArray = [[NSArray alloc] initWithObjects:@"frequency", @"native", nil];
objectArray = [[NSArray alloc] initWithObjects:count, [words[1] lowercaseString], nil];
}
NSDictionary *detailsDict = [[NSDictionary alloc] initWithObjects:objectArray forKeys:keyArray];
[mutableWordlist setObject:detailsDict forKey:[words[0] lowercaseString]];
i++;
}
self.wordlist = mutableWordlist;
NSLog(@"self.wordlist = %@", self.wordlist);
但这里的关键有编码问题和日志作为这样,如果他们有口音:
"abandonn\U00e8rent
" = {
frequency = 24220;
};
这是怎么回事?