我通过http请求抓取一个字符串。字符串是Big 5,带有ANSI颜色编码。
如果我只是运行:
NSStringEncoding big5 = CFStringConvertEncodingToNSStringEncoding(kCFStringEncodingBig5);
NSString *httpResponse2 = [[NSString alloc] initWithData:data encoding:big5];
它失败了,我相信因为ANSI颜色。
所以,我正在遍历字符串并删除任何字符27(esc),然后删除91([)直到我达到109(m)。这应该摆脱任何ANSI格式。它适用于一些字符串,但是如果字符串足够长,我就会遇到问题。编码失败,因为iPhone编码无声地失败并返回nil,我很难找到对此负责的字符。有什么方法可以找出哪个字符导致我的编码失败?