我正在使用Google Place API并获得了成功的JSON响应。但是一个NSString
是L\U00c3\U00b6wenbr\U00c3\U00a4u Keller
。我想将其转换为适当的NSString
,如Lowenbrau Keller
。我该如何进行转换?
答案 0 :(得分:4)
正确的格式是使用小写u来表示Coocoa中的unicode:
错误:
NSString *string1 = @"L\U00c3\U00b6wenbr\U00c3\U00a4u Keller";
正确:
NSString *string2 = @"L\u00c3\u00b6wenbr\u00c3\u00a4u Keller";
要使其正确打印,请将\ u00替换为\ x
NSString *string3 = @"L\xc3\xb6wenbr\xc3\xa4u Keller";
NSLog(@"string3: '%@'", string4);
NSLog输出:string3:'LöwenbräuKeller'
答案 1 :(得分:1)
测试代码:100%工作
注意:强>
\ U和\ u不是一回事。 \ U转义需要8(十六进制)数字而不是4。
NSString *inputString =@"L\u00c3\u00b6wenbr\u00c3\u00a4u Keller";
NSString *outputString=[[NSString stringWithFormat:@"%@",inputString] stringByFoldingWithOptions:NSDiacriticInsensitiveSearch locale:[NSLocale currentLocale]];
NSLog(@"outputString : %@ \n\n",outputString);
<强>输出:强>
outputString : LA¶wenbrA¤u Keller
答案 2 :(得分:0)
您可以按照以下方式使用它。
NSString * localStr = @“L \ U00c3 \ U00b6wenbr \ U00c3 \ U00a4u Keller”;
localStr = [localStr stringByReplacingOccurrencesOfString:@"'" withString:@"'"];
localStr = [localStr stringByReplacingOccurrencesOfString:@" " withString:@" "];
localStr = [localStr stringByReplacingOccurrencesOfString:@""" withString:@"'"];
localStr = [localStr stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
localStr = [localStr stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceCharacterSet]];
我希望它会对您有所帮助并显示确切的字符串。
干杯。