2012-09-26 57 views
1

我正在寫字符串數據到一個文件,其中的數據應該用ASCII編寫,然後在Unicode中重複。 ASCII部分運行良好,但Unicode版本是亂碼。試圖顯式創建一個Unicode字符串與CFStringCreateMutableWithExternalCharactersNoCopy失敗悲慘。建議和示例代碼表示讚賞。如何以CF格式將數據存儲在Unicode(BE)格式中?

回答

2

您可以將CFStringRef轉換爲CFDataRefCFStringCreateExternalRepresentation,例如

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]; 
+0

的偉大工程。謝謝。 – user216661

相關問題