我正在尝试实现一个应用程序,我希望以西班牙语格式显示一些文本。例如,我想显示“España”,但在我的标签中显示“Espa√ɬ±a”,并且它还会更改其他一些文本的文本。
如何摆脱这些。如果有人可以提供帮助。感谢。
编辑:当我收到我的回复时,它会记录下面的结果
消息=( “埃斯帕\ U221a \ U00c9 \ U00ac \ U00b1a:1.3 \ U221a \ U00c7 \ U00ac \ U00a2 /分钟” );
但是当我根据Dictionary中的键提取值时,它会显示
Espa√ɬ±一个:1.3√Ǭ¢/分钟
这意味着当我从字典中获取值时,它无法正确解码。
如何解决这个问题。有什么想法..?
答案 0 :(得分:0)
首先使用NSData
编码将响应字符串转换为NSUTF8StringEncoding
,然后再将相同的数据转换为finalString,如下所示。
NSString *string = @"España"; //Your response String goes here
NSData *data = [string dataUsingEncoding:NSUTF8StringEncoding];
NSString *finalString = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];
lblTemp.text = finalString;
更新1
我认为您的回复有误,请参阅下文
NSString *string = @"Nu\\u0161a Florjan\\u010di\\u010d";
NSString *finalString = [NSString
stringWithCString:[string cStringUsingEncoding:NSUTF8StringEncoding]
encoding:NSNonLossyASCIIStringEncoding];
NSLog(@"finalString = %@", finalString);
上述代码的输出是,
finalString = Nuša Florjančič
更新2
如果您想要输出字符串,例如“España”,您所需的回复应该是“Espa \ u00F1a”,请在下面找到,
NSString *string = @"Espa\\u00F1a";
NSString *finalString = [NSString
stringWithCString:[string cStringUsingEncoding:NSUTF8StringEncoding]
encoding:NSNonLossyASCIIStringEncoding];
NSLog(@"%@",finalString);
输出España