我正在尝试在UTF8中转换“á”。我可以发现UTF8中的“á”是“¡”。在Xcode中我写了这个:
const char * litter = [@"á" UTF8String];
NSLog(@"%s",litter);
它总是打印“√°”,这是错误的! 确实如果写了
const char * litter = [@"áéíóú" UTF8String];
NSLog(@"%s",litter);
打印:√°√©√≠√≥√∫
我做错了什么?
谢谢
答案 0 :(得分:0)
你没有做错任何事。只是%s说明符只打印出没有unicode感知的字符流。如果要检查litter是否包含正确的字符,请将其转换回NSString对象,然后再将其记录为NSLog。
const char * litter = [@"á" UTF8String];
NSLog(@"%@",[NSString stringWithUTF8String:litter]);