5
NSSet *subFolders = [_account subscribedFolders];
NSLog(@"subFolders: %@",subFolders);

输出:

...
    "[Gmail]/\U05d8\U05d9\U05d5\U05d8\U05d5\U05ea",
    "[Gmail]/\U05d7\U05e9\U05d5\U05d1" 
...

有什么办法可以用原始语言(希伯来语)显示上述文本?

我尝试过的事情:

  • 将调试器从 LLDB 更改为 GDB - 不起作用
  • 在首选项下检查 -> 文本编辑 UTF-* 被选中

谢谢

4

2 回答 2

2

在控制台中显示 unicode 字符没有问题,所以我认为这是字符串首先进入集合的方式。

我建议使用以下内容遍历 subFolders 中的所有对象:

 for( id object in [subFolders allObjects] ) {
    //Print out the name of the item explicitly
 }

即使这不起作用,它至少可以让您直接使用字符串。如果它仍然打印出来:

“[Gmail]/\U05d8\U05d9\U05d5\U05d8\U05d5\U05ea”

看起来好像您正在发送转义的 unicode 字符,我建议这样做:https ://stackoverflow.com/a/7861345/352891 - 这可能直接适用于 NSSet 的描述

于 2013-04-17T13:04:41.380 回答
1
 NSString* strOld=[NSString stringWithFormat:@"%@",responseObject];
NSLog(@"%@",[NSString
             stringWithCString:[strOld cStringUsingEncoding:NSUTF8StringEncoding]
             encoding:NSNonLossyASCIIStringEncoding]);
于 2015-02-06T09:21:05.047 回答