1

文字列データをファイルに書き込んでいます。このファイルでは、データをASCIIで書き込み、基本的にUnicodeで繰り返す必要があります。ASCII部分は正常に機能していますが、Unicodeバージョンが文字化けしています。CFStringCreateMutableWithExternalCharactersNoCopyを使用してUnicode文字列を明示的に作成しようとすると、惨めに失敗します。アドバイスとサンプルコードをいただければ幸いです。

4

1 に答える 1

2

たとえば、CFStringRefCFDataRefでに変換できますCFStringCreateExternalRepresentation

CFStringRef s = CFSTR("abc €");
CFDataRef d = CFStringCreateExternalRepresentation(NULL, s, kCFStringEncodingUTF16BE, 0);
// d now contains the bytes 00 61 00 62 00 63 00 20 20 ac.

またはNSString/NSData

NSString *s = @"abc €";
NSData *d = [d dataUsingEncoding:NSUTF16BigEndianStringEncoding];
于 2012-09-26T16:20:42.153 に答える