我有一组遗留数据,包括基于struct形成的单个Unicode字符:
struct LocalGrRec{
wchar_t cBegin;
int x2;
wchar_t cEnd;
in x2;
};
并且典型记录看起来像这样,即包括长和短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: (\342\200)
答案 0 :(得分:0)
我认为你正在寻找这种方法:
[NSString stringWithCharacters:(const unichar*) length:(NSUInteger)];
只需传递一个unichars数组和一个长度,它会给你一个NSString返回
unichar list[3] = {'A', 'B', 'C'};
NSString *listString = [NSString stringWithCharacters:list length:3];
NSLog(@"listString: %@", listString);