ios - NSData转NSString的一个问题
巴扎黑
巴扎黑 2017-04-17 11:23:57
[iOS讨论组]

从服务器那里得到NSData,要把它转成String。现在碰到的困难是这样的:服务器那里不知道有什么bug,导致返回的Data里面编码不一致(一般情况下所有返回的都是用GB18030编码的,有Bug的情况下,一个data里面有一部分是GB18030编码,一部分是UTF8编码)。网页碰到这个问题时,把UTF8部分变成乱码了,而手机端用NSData直接转string的话,返回的时nil。我现在希望把正常的一部分正常显示,乱码的一部分乱码显示,而不是返回一个nil该怎么办呢?(因为我们的网页和android客户端是可以显示出来的,所以QA认定是我们iOS客户端的问题)。

巴扎黑
巴扎黑

全部回复(3)
伊谢尔伦

不建议这样的做法,最好从根源上避免这种事情发生,坚持使用一致的编码。
如果一定要这样做的话,可以试一下修改报文格式,在头部分添加编码的起止字节数。

巴扎黑

传的时候用base-64位传试一下

天蓬老师
NSStringEncoding gbkEncoding = CFStringConvertEncodingToNSStringEncoding(kCFStringEncodingGB_18030_2000);

contents = [NSString stringWithContentsOfFile:path encoding:gbkEncoding error:nil];

试一下

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号