2012-06-03 134 views
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); 

NSData的所謂的 'd' 返回< 723d6c67 6e267573 65726e61 6d653d64 61766964 77617473 6f6e3936 26706173 73776f72 643d736e 30307079 6f32>

NSData的稱爲 '數據':因此,我只是使用這種增加的NSData的長度返回< 723d6c67 6e267573 65726e61 6d653d64 61766964 77617473 26706173 6f6e3936 73776f72 643d736e 30307079 6f32_ >,其中_是4個隨機字符(通常數)

我怎樣才能確保'數據'返回< 723d6c67 6e267573 65726e61 6d653d64 61766964 77617473 6f6e3936 26706173 73776f72 643d736e 30307079 6f320000> - 4 0而不是4個隨機字符?

謝謝。

回答

7

你想用一個NSMutableData,你從NSData的讓你從字符串返回,再加入一些零:

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