objective-c - UTF8 的愚蠢问题

标签 objective-c plist

这是一个愚蠢的问题,但我就是无法让它发挥作用。我确实相信我需要转换为 NSString 并利用“stringWithUTF8String:”,但不完全理解如何在这段代码中实现它,所以我在 NSLog 中得到正确的输出。我一直在环顾四周,但仍然不起作用。 plist 是正确的。

我的输出是:

2010-11-07 21:43:00.419 plist_test[2984:207] Förbered och skriv  
2010-11-07 21:43:00.425 plist_test[2984:207] KLART  
2010-11-07 21:43:00.425 plist_test[2984:207] LÄS IN PLIST  
2010-11-07 21:43:00.427 plist_test[2984:207] array2: (  
    ETT,    
    "TV\U00c5",  ========Here is the problem, should be "TVÅ"    
    TRE,  
    FYRA  
)

这是我正在使用的代码。

- (void)viewDidLoad {

NSLog(@"Förbered och skriv");

NSMutableArray *array = [[NSMutableArray alloc] init];  
[array addObject:@"ETT"];  
[array addObject:@"TVÅ"];  
[array addObject:@"TRE"];  
[array addObject:@"FYRA"];  

[array writeToFile:@"/Users/PeterK/Desktop/plisttest.plist" atomically: TRUE];


NSLog(@"KLART");


NSLog(@"LÄS IN PLIST");

NSMutableArray *array2 = [[NSMutableArray alloc] init];

array2 = [NSMutableArray arrayWithContentsOfFile:@"/Users/PeterK/Desktop/plisttest.plist"];

NSLog(@"array2: %@", array2); ====here is the output


[super viewDidLoad];
}

最佳答案

Apple String Programming Guide表示代码中的 Objective C 字符串文字严格是 7 位 ASCII。 (编辑:它们不是严格的 7 位 ASCII,但是 7 位 ASCII 以外的任何内容都意味着它们是每个模块的,并且不会链接到静态数据部分,这可能会导致内存膨胀。换句话说,除非它是内存负担,去吧。)

您可以通过NSLocalizedString resources从数据加载字符串。方法。

关于objective-c - UTF8 的愚蠢问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4119656/

相关文章:

iphone - 排序NSDate

ios - 可变数组合并数组到另一个数组

Python plist 解析器 IOError : [Errno 63] File name too long:

ios - 来自 plist iOS 的电话

objective-c - 尝试将 map 注释 View 上的详细信息披露指示器连接到 segue 方法

ios - 单击“取消”按钮时,“邮件撰写”不消失

ios - 在另一个 View Controller 上显示一个 View Controller 作为 subview (popoverController)

objective-c - 在 iOS 中保存图像

iphone - Mac 中的 PLIST(属性列表)是否必须使用制表符/缩进?

ios - 存储 NSString 的最佳方式是什么?