我从webservice获取数据并在标签中显示。 下面是那个
的代码cell.lblMainText.text=(NSString *)CFURLCreateStringByReplacingPercentEscapesUsingEncoding(
kCFAllocatorDefault,
(CFStringRef)cell.lblMainText.text,
CFSTR(""), kCFStringEncodingUTF8);
每当来自webservice的响应是:%%%%%%%%%
时,它就显示为空
CFURLCreateStringByReplacingPercentEscapesUsingEncoding
删除了所有%
符号。因此我对该地方使用的内容感到困惑,该地方将%%%%%
作为我的字符串返回。
答案 0 :(得分:0)
这是设计的。 %%不是%符号的有效编码。它将改为%25 - 见http://www.w3schools.com/tags/ref_urlencode.asp
此函数将在失败时返回NULL,特别是如果它找到无效的百分比转义序列(例如在您的示例中)。
例如,这可以正常工作
CFStringRef string = CFURLCreateStringByReplacingPercentEscapesUsingEncoding(kCFAllocatorDefault, CFSTR("%25%25%25%25%25%25"), CFSTR(""), kCFStringEncodingUTF8);
服务器需要返回正确的编码,除非你想亲自为这个案例解析这个特定的字符串。