基本上,我有一个 46 个字符的 NSString,我将其转换为 NSData。我需要将字符串填充到 48 个字符。仅通过将 ' ' 添加到 NSString 的末尾是行不通的。所以,我只是增加了 NSData 的长度:
NSString *string = @"__46characterlongstring__";
NSData *d = [string dataUsingEncoding:NSUTF8StringEncoding];
NSLog(@"d: %@", d);
NSData *data = [NSData dataWithBytes:[d bytes] length:48];
NSLog(@"data: %@", data);
名为“d”的 NSData 返回 <723d6c67 6e267573 65726e61 6d653d64 61766964 77617473 6f6e3936 26706173 73776f72 643d736e 30307079 6f32>
名为“数据”的 NSData 返回 <723d6c67 6e267573 65726e61 6d653d64 61766964 77617473 6f6e3936 26706173 73776f72 643d736e 30307079 6f32_>/通常是随机数字<4个字符/p>
我怎样才能确保“数据”返回 <723d6c67 6e267573 65726e61 6d653d64 61766964 77617473 6f6e3936 26706173 73776f72 643d736e 30307079 6f320000's> - 而不是 4 个随机字符?
谢谢。
最佳答案
你想使用一个 NSMutableData,它是由你从字符串返回的 NSData 生成的,然后添加一些零:
NSMutableData *paddedData = [NSMutableData dataWithData:d];
[paddedData increaseLengthBy:4];
关于objective-c - 增加 NSData 的长度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10871433/