2013-04-14 20 views
0

不确定是否有人帮我。我在plist中创建了一些数组。其内容由中文撰写。它通过NSLog在控制台中打印出奇怪的措辞。在Xcode控制台中无法打印非ASCII文本

在控制台:

address = "\U65b0\U754c\U9752\U8863\U9577\U767c\U90a8\U9577\U767c\U5546\U5834232\U865f\U8216"; 

找遍了周围的网络,但无法弄清楚。有人知道要修复它吗? 感谢

+0

不确定...尝试将其转换为utf8字符串 –

+0

我不认为这是可能的。但你可以使用一些python或其他脚本来将这些转换成适当的字符 –

+0

在这里看看... http://stackoverflow.com/questions/15881425/ios-game-localization-with-string-format/15881654#15881654 –

回答

-1

你可以使用这个python脚本的人物

>>> def printUtf8(str): 
...  str = str.lower() 
...  exec 'print u"'+str+'"' 
... 
>>> printUtf8("\U65b0\U754c\U9752\U8863\U9577\U767c\U90a8\U9577\U767c\U5546\U5834232\U865f\U8216") 
新界青衣長發邨長發商場232號舖 
+1

你能解释一下如何将python脚本添加到Xcode LLDB交互式GUI会话中吗? – voromax

+0

OOP ..我不知道python脚本。 > _ <我已经改变它为NSString对象来弄清楚。对于(NSDictionary * tempDict in sectionHeaderArray){ NSDictionary * name = [sectionHeaderArray objectAtIndex:indexPath.row]; NSString * tempNameString = [name objectForKey:@“name”]; NSLog(@“%@”,tempNameString); NSString * tempAddString = [name objectForKey:@“address”]; NSLog(@“%@”,tempAddString); NSString * tempHrString = [name objectForKey:@“officeHour”]; NSLog(@“%@”,tempHrString); } 谢谢大家的帮助。 –

+0

@voromax我只是提供一个可能的解决方案来输入输出。我不确定如何将它插入xcode。但lldb允许你使用python来调试程序。 http://lldb.llvm.org/scripting.html –

0

我试图登录含有阿拉伯文字的数组解码,第一次给了我同样的结果,因为它给了你。

NSArray *array = @[@"تليفونات محمولة",@"تليفونات محمولة",@"تليفونات محمولة",@"تليفونات محمولة",@"تليفونات محمولة"]; 

NSLog(@"%@",array); 

结果是这样的:

(
"\U062a\U0644\U064a\U0641\U0648\U0646\U0627\U062a \U0645\U062d\U0645\U0648\U0644\U0629", 
"\U062a\U0644\U064a\U0641\U0648\U0646\U0627\U062a \U0645\U062d\U0645\U0648\U0644\U0629", 
"\U062a\U0644\U064a\U0641\U0648\U0646\U0627\U062a \U0645\U062d\U0645\U0648\U0644\U0629", 
"\U062a\U0644\U064a\U0641\U0648\U0646\U0627\U062a \U0645\U062d\U0645\U0648\U0644\U0629", 
"\U062a\U0644\U064a\U0641\U0648\U0646\U0627\U062a \U0645\U062d\U0645\U0648\U0644\U0629" 
) 

但是当尝试这个它打印出正确的字符串。

NSLog(NSLocalizedString([array componentsJoinedByString:@" , "],nil));