我有一组遗留数据,其中包括基于结构形成的单个Unicode字符:
struct LocalGrRec{
wchar_t cBegin;
int x2;
wchar_t cEnd;
in x2;
};
典型的记录如下所示,即包括长 Unicode 字符和短 Unicode 字符
{L'a', 0, L'¥', 3}
我可以更改结构,以便更轻松地将这些字符读取到字符变量中:
wchar_t c = rec.cBegin;
// or
UTF32Char c = rec.cBegin;
哪一个(或者可能是我不知道的另一个选择)会更容易处理它。请注意,我需要将它们作为单独的字符进行处理,但最终我需要将它们包含在 NSString 中。
什么解决方案能给我最大的灵活性和最小的痛苦?
我该如何把这个角色读进NSString?
谢谢
编辑:我需要用它来编写 NSString,而不是相反。使用 unichar,问题来了:
unichar c = L'•';
NSLog(@"%c", c); // produces: (") wrong character, presumably the first half of '•'
NSLog(@"%C", c); // produces: (342200)
我认为您正在寻找此方法:
[NSString stringWithCharacters:(const unichar*) length:(NSUInteger)];
只需向它传递一个 unichar 数组和一个长度,它就会给你一个 NSString 回来
unichar list[3] = {'A', 'B', 'C'};
NSString *listString = [NSString stringWithCharacters:list length:3];
NSLog(@"listString: %@", listString);