ios - NSFileHandle读取中文txt文件问题
PHP中文网
PHP中文网 2017-04-17 13:42:29
[iOS讨论组]
NSFileHandle *fileHandle = [NSFileHandle fileHandleForReadingAtPath:filePath];

unsigned long long startLocation = xx;

[fileHandle seekToFileOffset:startLocation];

NSInteger length = 100;

NSData *data  = [fileHandle readDataOfLength: length];

NSString *labelText = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];

[fileHandle closeFile];    

现有问题,一个中文占2个字符,而NSFileHandle 是按字节读取的,假设文件内容是“我们当然希望你的问题被回答而不仅仅是提问,所以尽量写清楚你的问题,合理使用标签...”

  1. startLocation为7,这时候无论你设的读取数据长度是多少,都读取不出数据,因为它正好读在“然”这个字上,但并不能完整读取。

  2. 如果读取的长度,也正好读到某个字的中间位置,这时候也是读取不出数据的,

像这样的问题,你们都是如何解决的?

PHP中文网
PHP中文网

认证0级讲师

全部回复(1)
阿神

...不确定和你说的是不是一个东西...
无非是中文字符的问题,你直接取前14个字符的长度(不管中英文,14个字符总够了),转换成NSString,再直接substringToIndex:7一下,取前三个字,不就出来了吗?

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号