美文网首页
iOS string转utf8

iOS string转utf8

作者: leblanc_i | 来源:发表于2021-10-28 14:32 被阅读0次

网络请求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中包含 # 等特殊字符不需要转码,但是其中的中文需要转码

        // 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
    }

相关文章

网友评论

      本文标题:iOS string转utf8

      本文链接:https://www.haomeiwen.com/subject/zqrvaltx.html