1

我正在将字符串数据写入一个文件,其中数据应该以 ASCII 格式写入,然后基本上以 Unicode 格式重复。ASCII 部分运行良好,但 Unicode 版本出现乱码。使用CFStringCreateMutableWithExternalCharactersNoCopy显式创建 Unicode 字符串的尝试失败了。建议和示例代码表示赞赏。

4

1 回答 1

2

您可以将 a 转换CFStringRefCFDataRefwith 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 回答