0
我已经成功设置了一个小的XZ压缩器,它返回一个包含压缩输出的std :: string。为了处理结果,我需要将std :: string“转换”为NSString。不幸的是(编码?)问题:如何将XZ压缩输出转换为NSString?
即使“ABC”是不是表明难度相当不错的一个很好的例子:
NSString *text = [_text string]; // Length is 3
std::string content = xz_compress([text UTF8String]); // Length is 60
NSString *convertedContent = [NSString stringWithCString:content.c_str() encoding:NSUTF8StringEncoding];
// convertedContent is (null) and 0 characters long
使用NSUnicodeStringEncoding使得NSString的长度至少2个字符,但他们不不匹配来自std :: string的。
我的问题:
- 这是可能的方式/的最好方式(已不确定的事情)?
- 如果是这样的话:我需要使用什么编码?
在此先感谢!
Paul
这完美地工作!但我仍然能够“添加”数据到NSData?我想有一个JSON文件,也包含这个压缩数据。 – Paul
很高兴听到它! 'NSMutableData'给你'appendData' ... – sergio