0

たとえば、ASCII のストリームを格納しているとします0x0a0b0c00NSDataインスタンスに保存すると、データはどうなりますNSStringか? データは別のものに変換されますか? どちらもまったく同じものを保持するバッファーであるため、少し混乱しています。

4

1 に答える 1

3

NSDataは、その名前が示すように、生のバイナリデータを格納するためのコンテナです。NSDataは、バイナリデータの形式を想定していません。テキスト、画像、音声などがあります。

NSStringは、データを特定のエンコーディング(ASCII、Unicodeなど)のテキストとして解釈します。ほとんどの場合、NSStringはバイトを内部データ構造にコピーして、生のバイナリを格納します。

テキストでない場合は、NSDataを使用してください。何が管理されているかを知ることはコードでより明確になり、文字列エンコーディングと戦う必要がなくなります。

于 2012-09-07T05:09:04.410 に答える