3

基本上,我有一个 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 个随机字符(通常是数字)

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

谢谢。

4

1 回答 1

8

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

NSMutableData *paddedData = [NSMutableData dataWithData:d];
[paddedData increaseLengthBy:4];
于 2012-06-03T15:16:31.937 回答