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

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

iOS html加密后的base64字符串解码始终是nil的问题_第1张图片
这是后端返回的加密后的html数据
iOS html加密后的base64字符串解码始终是nil的问题_第2张图片
解析的内容如上

常规解密方式如下

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的问题)