iPhone:从文件中读取X字符

iPhone:从文件中读取X字符,iphone,ios,Iphone,Ios,如何从文件中读取X个字符? 不是字节。 什么课程应该帮助我 困难在于指定了编码。如果可能,我会将整个文件读入一个NSMutableString,然后根据需要从开头提取字符。如果这是一个选项,那么实现起来会非常简单。解决方案是读取1字节并尝试将其转换为字符。如果发生异常,请再读取1个字节并尝试转换。。。直到读取6字节或成功。 成功后,将此字符附加到字符串并读取下一个字节。字节和“字符”之间的区别是什么?在UTF8中,字符可以是1到6个字节。可能是NSFileHanlde,它允许seekToFile

如何从文件中读取X个字符?
不是字节。
什么课程应该帮助我


困难在于指定了编码。

如果可能,我会将整个文件读入一个
NSMutableString
,然后根据需要从开头提取字符。如果这是一个选项,那么实现起来会非常简单。

解决方案是读取1字节并尝试将其转换为字符。如果发生异常,请再读取1个字节并尝试转换。。。直到读取6字节或成功。

成功后,将此字符附加到字符串并读取下一个字节。

字节和“字符”之间的区别是什么?在UTF8中,字符可以是1到6个字节。可能是NSFileHanlde,它允许seekToFileOffset和readDataLength。问题是这是个字节。可能读取最坏情况下的字符数字节,然后NSString STRING WITHTF8STRINGS是否传递字节???猜猜看,所以我应该手动处理很多编码,对吗?这是不可能的:iOS设备的RAM量很小(文件很大)。读取字符也可以与读取字节混合。读取到一个小缓冲区中,并以这种方式跟踪字符。那么,记忆就不再是问题了。好吧,这取决于你需要什么。您需要“文件中的第150000个字符”吗?您需要“前100个字符”吗?您需要“最后1000000个字符”吗?每个字符可能有不同的方法。还有,你说有一个已知的编码;它是什么?这也会影响答案。我正在为Java脚本编写文件API。所以我不知道目标开发者想要什么。但是我有规范,还有readXCharacters(x)方法。前端是JS((新文件(路径))。readXCharacters(x)),后端是Objective C。某种桥。