2011-01-30 7 views
1

UTF-16ですか? 32?他に何か?Cocoa TouchのカノニカルNSUnicodeStringEncodingは何を意味していますか?

私はUTF-8から多くの文字列を「ネイティブNSString」に変換しているのでパフォーマンス上の理由からこれを調べたいので、パフォーマンスペナルティは組み込み変換の__CFFromUTF8になるようです関数。 Btw:NSUnicodeStringEncodingが内部で使用されていると推測しています。NSStringfastestEncodingはその値を返します(つまり、ANSIを使用している場合はMacRomansが返されます)。 dataUsingEncoding:を使用して

答えて

2

テストNSUnicodeStringEncodingを示しリトルエンディアンUTF-16(シミュレータと実際のデバイスの両方で)バイト順マークで先行しており、Apple String Programming Guide for Cocoaは、「NSStringのオブジェクトは、プラットフォームのエンディアンを概念的にUTF-16です」と言うので、私は、UTF-16が内部的に使用されていると仮定することは合理的だと思います。

(同じガイドでは、「これは必ずしも内部ストレージメカニズムについては何も示唆していないので、将来的にこれを変更する権利があります」

関連する問題