在公司項(xiàng)目中榆苞,視頻播放的時(shí)候,url可能已經(jīng)utf-8轉(zhuǎn)碼了羹铅,也可能未轉(zhuǎn)碼而包含中文蚀狰,對(duì)url中的中文進(jìn)行轉(zhuǎn)碼時(shí),如果url中的中文已經(jīng)是utf-8轉(zhuǎn)碼了职员,那么會(huì)二次轉(zhuǎn)碼麻蹋,在項(xiàng)目需求中url就無效
// 對(duì)url中的中文進(jìn)行轉(zhuǎn)碼(如果已知url中的中文沒有進(jìn)行utf-8轉(zhuǎn)碼)
url = [url stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet URLQueryAllowedCharacterSet]];
如果知道url中的中文既可能已經(jīng)轉(zhuǎn)碼,也可能沒有轉(zhuǎn)碼焊切,那么使用如下的方法扮授,當(dāng)不管url中的中文是否已經(jīng)utf-8轉(zhuǎn)碼了,都可以解決將中文字符轉(zhuǎn)為utf-8的問題专肪,且不是二次轉(zhuǎn)碼
NSLog(@"原url:%@", url);
NSString *encodedString = (NSString *)
CFBridgingRelease(CFURLCreateStringByAddingPercentEscapes(kCFAllocatorDefault,
(CFStringRef)url,
(CFStringRef)@"!$&'()*+,-./:;=?@_~%#[]",
NULL,
kCFStringEncodingUTF8));
NSLog(@"轉(zhuǎn)碼url:%@", encodedString);