【发布时间】:2012-01-25 12:18:35
【问题描述】:
我正在编写一个程序,它将 NSData 转换为具有多字节编码的 NSString。 转换本身很容易,但问题是 NSData 是单独到达的(数据按顺序到达)。 就像
- (void) dataArrived:(NSData*) data{
NSString* mystr = [[[NSString alloc] initWithData:data encoding:NSShiftJISStringEncoding] autorelease];
// I want to parse string here and show some view as it arrives.
}
如果数据仅包含 8 位字母,则可以,但我正在解析多字节字符串数据。所以我想要做的是将 NSData 从头转换为 NSString 并将无效字节保留到 dataArrived 的下一次调用(最后 1 个字节可能留作 NSShiftJISStringEncoding 的无效字节,因为 SJIS 字母是 1 或 2 个字节)。
我想知道他们是否有任何有用的方法或功能可以做到这一点。 理想的方法可以取 NSData 和 Encoding,返回在 NSData 中找到无效字节序列的位置。
【问题讨论】:
-
我的回答没有解决您的问题吗? ;-)
标签: objective-c encoding nsstring nsdata