如何使用 objective c 从 iOS 中的 Base 64 字符串中分离出 16 个字节?

How to separate 16 bytes from Base 64 string in iOS using objective c?

你好,我正在附加两个 NSDatas 以使用 objective c 形成一个 NSMutableData。代码如下:

NSData *data1 = key1;
    NSData *data2 = encryptedData;
    NSMutableData *completeData = [data1 mutableCopy];
    [completeData appendData:data2];
    NSLog(@"Mutable data%@", completeData);
    NSLog(@"Nutable data IV: %@", [completeData base64EncodedStringWithOptions:0]);

最后我得到一个 Base64 字符串,格式为“9G1WmT41boXfxqJeBhfngb1oq3TB7IcrQEzKqSre6vdp2fzvggv/6+MMxXL4viB3kHJmqxynsPknp4pzMx9MHIMls2lr7VGc2cWPjTG9fW+aq26g=clxTzk0”​​[

是否可以将NSData或Base64String的前16个字节分开?因为我想分开前 16 个字节并传递其余的。

请告诉我怎么做?

您可以使用 subdataWithRange: 删除前 16 个字节:

NSData * truncatedData = [completeData subdataWithRange:NSMakeRange(16, completeData.length-16)];