NSData转NSString的一个问题


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

ios objective-c cocoa-touch cocoa

隔壁村口王大爷 11 years, 9 months ago

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

拉格拉罗斯之手 answered 11 years, 9 months ago

Your Answer