たとえば、ASCII のストリームを格納しているとします0x0a0b0c00
。NSData
インスタンスに保存すると、データはどうなりますNSString
か? データは別のものに変換されますか? どちらもまったく同じものを保持するバッファーであるため、少し混乱しています。
質問する
62 次
1 に答える
3
NSDataは、その名前が示すように、生のバイナリデータを格納するためのコンテナです。NSDataは、バイナリデータの形式を想定していません。テキスト、画像、音声などがあります。
NSStringは、データを特定のエンコーディング(ASCII、Unicodeなど)のテキストとして解釈します。ほとんどの場合、NSStringはバイトを内部データ構造にコピーして、生のバイナリを格納します。
テキストでない場合は、NSDataを使用してください。何が管理されているかを知ることはコードでより明確になり、文字列エンコーディングと戦う必要がなくなります。
于 2012-09-07T05:09:04.410 に答える