objective-c - 增加 NSData 的长度

标签 objective-c iphone nsstring 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>

名为“数据”的 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/

相关文章:

iphone - 提交前测试IOS应用程序的程序?

ios - 是否有可能有一个 iPhone 应用程序用接收和发送调用的界面替换默认的调用管理器

iphone - NSClassFromString 不区分大小写的 Objective-C

iphone - 在 View Controller 中加载 TableView 时出现问题

iphone - NSDictionary 的 allKeys 数组搞砸了 - 不是按照它们在字典中的顺序?

objective-c - 从包含\0 个字符的 char 数组创建 NSString?

ios - 将其分解为可用字符串的最佳方法是什么

ios - 不显示应用程序图标角标(Badge)

iphone - UIPickerView 编程示例?

objective-c - 删除(嵌套)括号的正则表达式