網(wǎng)絡請求url中如果包含空格或者中文字符串的話,需要單獨處理
let url = "https://yuanlingou.qd-weimob.com/upload/technofile/xQZ/20210913152809/下載.doc"
oc中
NSString *urlString = [url stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet URLQueryAllowedCharacterSet]];
swift中
// 需要注意返回的urlString是一個可選項
let urlString = url.addingPercentEncoding(withAllowedCharacters: .urlQueryAllowed)
如果url中包含
#等特殊字符不需要轉(zhuǎn)碼,但是其中的中文需要轉(zhuǎn)碼
// oc
NSMutableCharacterSet *set = [[NSCharacterSet URLQueryAllowedCharacterSet] mutableCopy];
[set addCharactersInString:@"#"];
NSString *urlString = [url stringByAddingPercentEncodingWithAllowedCharacters:set];
// swift
var set = CharacterSet.urlQueryAllowed
set.insert("#")
let urlString = url.addingPercentEncoding(withAllowedCharacters: set)
補充
判斷字符串中是否包含中文
func isContainChinese(_ str: String) -> Bool {
for c in str {
if "\u{4E00}" <= c, c <= "\u{9FA5}" {
return true
}
}
return false
}