美文网首页
iOS html加密后的base64字符串解码始终是nil的问题

iOS html加密后的base64字符串解码始终是nil的问题

作者: 我系老菠萝 | 来源:发表于2020-06-08 10:23 被阅读0次

朋友们,很久没更新博客了,今天刚遇到个问题,是我从业N年来第一次碰到的。之前 可以直接解析出来的,按照网上的base 64解法,在NSData 还有数据,然后转成UTF8就成nil了。我尝试将数据拿到网站上解析,发现网站上可以解析。但不是所有的网站。

这是后端返回的加密后的html数据 解析的内容如上

常规解密方式如下

NSData *nsdataFromBase64String = [[NSData alloc] initWithBase64EncodedString:"your string"options:0];
NSString *base64Decoded = [[NSString alloc] initWithData:nsdataFromBase64String encoding:NSUTF8StringEncoding];

虽然你发现你的string 是nil ,别怕,改成下面代码!

    NSData *decodedData = [[NSData alloc] initWithBase64EncodedString:self.htmlStr options:0];

    NSStringEncoding enc = CFStringConvertEncodingToNSStringEncoding(kCFStringEncodingGB_18030_2000);
    
    NSString * utf8Str = [[NSString alloc] initWithData:decodedData encoding:enc];

我花了一个小时才解决,尝试过各种办法,最终解决的原因是以为 安卓告诉我用“GBK”去解密,在这里感谢安卓同事。


21591168703_.pic.jpg

如果有帮到你,请点个关注和喜欢再走~
哪有什么 岁月静好,只不过有人替你负重前行~
QQ群号:622177838

相关文章

网友评论

      本文标题:iOS html加密后的base64字符串解码始终是nil的问题

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