我收到一个未正确编码的 nsstring,例如“mystring%201,其中必须是“mystring 1”。如何替换所有可以解释为 UTF8 的字符?我阅读了很多帖子,但不是完整的解决方案。请请注意,nsstring 已经编码错误,我不是在问如何编码 char 序列。谢谢。
问问题
64586 次
5 回答
34
- (NSString *)stringByReplacingPercentEscapesUsingEncoding:(NSStringEncoding)encoding
是你想要的。基本上像这样使用它:
newString = [myString stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
于 2012-08-02T21:35:56.140 回答
6
[urlString stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]
于 2014-10-15T08:52:34.930 回答
2
检查格式化字符串对象Strings and Non-ASCII Characters
部分:
NSString *s = [NSString stringWithUTF8String:"Long \xe2\x80\x94 dash"];
于 2012-08-02T21:32:43.080 回答
2
lblDate.text=[NSString stringWithCString:[[arrTripDetail valueForKey:Param_vCurrencySymbol] UTF8String] encoding:NSUTF8StringEncoding];
你可以将自定义表情符号转换为字符串
例如:
输入:\U20b9
输出:¥</p>
于 2015-09-04T13:13:31.323 回答
1
您想要百分比编码/解码还是完整的 URL 编码/解码?-(NSString*)stringByReplacingPercentEscapesUsingEncoding: 如果它只是百分比编码就可以工作,但如果那里有完整的 URL 编码(例如,空格可能是 %20 或 +),那么你将需要类似 url 解码的东西three20 库(或在那里搜索,有很多如何做到这一点的示例,例如URL 解码/编码 NSString)。
于 2012-08-02T21:42:21.590 回答