在Objective C中将文件转换为NSdata时文件大小不正确

0 iphone objective-c

我有以下代码,假设将文件转换为数据,但问题是字节大小不是转换后的大小可以有人帮助我这个?我想使用NSStream将NSdata发送到服务器.

NSString *file = [[NSString alloc] initWithContentsOfFile:filepath;  
NSLog(@"length = %d",[file length]); // file length is 248563 (Actual file size);

NSdata *data = [file dataUsingEncoding:NSASCIIStringEncoding allowLossyConversion:Yes];
NSLog(@"length = %d",[datalength]);// file length is 249199 (increase in file size);
Run Code Online (Sandbox Code Playgroud)

提前致谢.

Jos*_*erg 5

为什么首先将它加载到一个字符串中?

[NSData dataWithContentsOfFile:]

您的代码的问题是该文件可能最初不是ASCII,所以它重新编码的东西.