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 303070796f32>を返します。

'data'と呼ばれるNSDataは、<723d6c67 6e267573 65726e61 6d653d64 61766964 77617473 6f6e3936 26706173 73776f72 643d736e 30307079 6f32_ >を返します。ここで、_は4つのランダムな文字(通常は数字)です。

'data'が4つのランダムな文字の代わりに<723d6c676e26757365726e61 6d653d64 61766964 77617473 6f6e3936 26706173 73776f72 643d736e 30307079 6f320000> --4 0を返すことを確認するにはどうすればよいですか?

ありがとう。

4

1 に答える 1

8

文字列から取得したNSDataから作成したNSMutableDataを使用し、ゼロを追加します。

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