增加 NSData 的长度



基本上,我有一个 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>

称为"data"的 NSData 返回 <723d6c67 6e267573 65726e61 6d653d64 61766964 77617473 6f6e3936 26706173 73776f72 643d736e 30307079 6f32_>,其中 _ 是 4 个随机字符(通常是数字)

如何确保"数据"返回 <723d6c67 6e267573 65726e61 6d653d64 61766964 77617473 6f6e3936 26706173 73776f72 643d736e 30307079 6f320000> - 4 个 0 而不是 4 个随机字符?

谢谢。

你想使用一个 NSMutableData,它是从字符串中返回的 NSData 创建的,然后添加一些零:

NSMutableData *paddedData = [NSMutableData dataWithData:d];
[paddedData increaseLengthBy:4];

最新更新