美文网首页
iOS NSString ISO-8859-1 编码格式互转

iOS NSString ISO-8859-1 编码格式互转

作者: 又又风月 | 来源:发表于2018-04-28 11:20 被阅读146次

    一般来说,后台接口参数有中文是使用utf-8编码转换的,但是有时候后台就不用,比如使用ISO-8859-1,但是iOS的字符串不能直接使用方法,像utf-8那么方便了,对应编码的枚举并不在NSString这个类里,而是在CFString里,我这个小白还是第一次接触这个,发现网上的资料也不是很多(只是百度,不翻墙),好不容易搞定了,特此做个记录,代码不多,只有两行

    NSString  转 ISO-8859-1

    + (NSString *)unicode2ISO88591:(NSString *)string {

    NSStringEncoding enc =      CFStringConvertEncodingToNSStringEncoding(kCFStringEncodingISOLatin1);

    return [NSString stringWithCString:[string UTF8String] encoding:enc];

    }

    使用[string UTF8String]是因为需要C格式的字符串,类似的,此方法可以转换其他不能用字符串对象直接转换的编码格式

    ISO-8859-1 转 NSString 

    //定义ISO-8859-1编码格式

    NSStringEncoding enc = CFStringConvertEncodingToNSStringEncoding(kCFStringEncodingISOLatin1);

    //ISO-8859-1格式接收数据并进行转换

    NSString *retStr = [[NSString alloc]initWithData:value encoding:enc];

    NSData*resultData = [retStr dataUsingEncoding:enc];

    NSArray *resultArr = [NSJSONSerialization JSONObjectWithData:resultData options:NSJSONReadingAllowFragments error:nil];

    相关文章

      网友评论

          本文标题:iOS NSString ISO-8859-1 编码格式互转

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