圧縮された出力を含む std::string を返す小さな XZ コンプレッサーのセットアップに成功しました。結果を処理するには、std::string を 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 のものとは一致しません。
私の質問:
- この方法は可能ですか / 好ましい方法ですか (それについてはすでに不明です)?
- その場合: どのエンコーディングを使用する必要がありますか?
前もって感謝します!
ポール