我的数据库中有一个带有重音é的字符串,当我把它带到那里并将其保存在NSArray
而不是保存字符串é它保存'\ U00e9'。
如果我将此字符串放在UITextField中,系统会将字符串放入重音符号。但是这段代码有问题!我需要将此字符串发送到另一个设备(使用框架),为此我执行如下操作:
NSData *data = [[NSData alloc] init];
data = [NSKeyedArchiver archivedDataWithRootObject:array];//The array contain the string in database
NSArray *arrayReceived = [NSKeyedUnarchiver unarchiveObjectWithData:data];
内部NSArray
有字符串 \ U00e9 ,但我需要将此字符串保存在我的数据库中,为此我必须找到一些方法来转换字符串'\ U00e9' 到字符串é,然后再次保存到数据库!怎么做?
答案 0 :(得分:1)
你实际上没有问题。您的é
和\u00e9
是相同的,您可以将它们视为以不同方式描述。
有关é
的
假设您发送编码数组的框架/系统以合理的方式使用它(即考虑unicode内容),那么你会没事的。您使用NSKeyedArchiver
对NSArray
进行编码这一事实表明情况确实如此。
基本上,请注意NSLog
和UI显示是不同的东西。 NSLog
为您提供了非常原始的数据视图,而UI则为您提供了人工修改的数据视图。