0

我正在尝试在 UTF8 中转换“á”。我可以发现UTF8中的“á”是“á”。在 Xcode 中我写了这个:

const char *  litter = [@"á" UTF8String];
NSLog(@"%s",litter);

它总是打印“√°”,这是错误的!确实,如果写

const char *  litter = [@"áéíóú" UTF8String];
NSLog(@"%s",litter);

它打印:√°√©√≠√≥√∫

我究竟做错了什么?

谢谢

4

1 回答 1

0

你没有做错任何事。只是 %s 说明符只是打印出没有 unicode 意识的字符流。如果要检查 litter 是否包含正确的字符,请将其转换回 NSString 对象,然后 NSLog 它。

const char *  litter = [@"á" UTF8String];
NSLog(@"%@",[NSString stringWithUTF8String:litter]);
于 2013-10-14T23:04:45.807 回答