1

我正在通过 http 请求获取一个字符串。该字符串是带有 ANSI 颜色编码的 Big 5。

如果我只是运行:

NSStringEncoding big5 = CFStringConvertEncodingToNSStringEncoding(kCFStringEncodingBig5);
NSString *httpResponse2 = [[NSString alloc] initWithData:data encoding:big5];

它失败了,我相信是因为 ANSI 颜色。

所以,我遍历字符串并删除任何字符 27(esc),然后是 91([),直到我达到 109(m)。这应该摆脱任何 ANSI 格式。它适用于一些字符串,但如果字符串足够长,我会遇到问题。编码失败,由于 iPhone 编码静默失败并返回 nil,我很难找到对此负责的字符。有什么办法可以找出是哪个字符导致我的编码失败?

4

0 回答 0