我想添加新的NSdata = x20(ASCII),它是NSMutableData中最后一个空格到足够的固定字节。示例:NSmuatabledata有400个字节,但我需要这个NSMutableData有600个字节。所以我想在最后这个nsmutableData添加200个byes(HEX中的x20)。我怎样才能做到这一点?请帮我。提前谢谢
// write xmlDoc to file
NSData* xmlData = [xmlDoc XMLDataWithOptions:NSXMLNodePreserveAll];
NSLog(@"xmlData %@",xmlData);
NSMutableData * datawrite = [xmlData mutableCopy ] ;
NSArray *array = [[NSArray alloc] init]; // i dont know how to add x20 (hex) to this array
[datawrite appendData:[[NSString stringWithFormat:@"%@", array] dataUsingEncoding:NSUTF8StringEncoding]];
答案 0 :(得分:1)
NSMutableData *datawrite = ...
NSUInteger oldLength = [datawrite length];
NSUInteger newLength = 600;
if (newLength > oldLength ) {
// extend mutable data object:
[datawrite setLength:newLength];
// fill appended bytes with space characters:
char *bytes = [datawrite mutableBytes];
memset(bytes + oldLength, ' ', newLength - oldLength);
}