0

我正在尝试加密/解密 NSString 并最终返回原始字符串。以下是我将字符串转换为数据对象的方法:

NSData *string_data = [string dataUsingEncoding:NSUTF8StringEncoding];

在该数据被加密/解密后,我希望通过执行以下操作将其恢复为原始字符串:

NSString *to_string = [NSString stringWithCString:[decrypted_data bytes] encoding:NSUTF8StringEncoding];

编码似乎匹配,但是当我尝试打印to_string到控制台时仍然得到一个空值。我尝试了各种编码设置。它似乎不起作用。

4

1 回答 1

1

利用:

NSString *to_string = [[NSString alloc] initWithData:string_data encoding:NSUTF8StringEncoding];

使用它是不安全的,stringWithCString因为bytes您从 NSData 获得的缓冲区不能保证为空终止。

于 2013-11-14T15:21:42.153 回答