今天研究相册相关问题,就从微信上导素材到电脑,发现个有意思的事,文件在手机和电脑上大小显示不一致,一激动搜了一下,发现还有真有点猫腻,下班之后自己试了一下。我先抛出个观点:
!!!!应该用1000进制!!!!
以下是证实方式:
1.首先控制变量,找个素材,确认大小,在电脑和手机上都不会有损耗,怎么保证,我这里采用的是airdrop或者u盘,举个例子,一张图139k(电脑上显示),通过airdrop传到手机上,用微信原图发送到电脑上(mac版微信),下载之后查看容量还是139k。这证明这张图在手机和电脑上一致大小。
2.我把文件放到xcode,采用读取文件大小的方法验证,这里我是用的NSFileManager,
[[NSFileManager defaultManager] attributesOfItemAtPath:sizeurl error:nil].fileSize
3.结果为138541, 基本正确跟电脑上显示的139k做了取舍很正常,那么问题来了,同一张139k的图哦
1).如果用1024进制去换算,结果为 135.293945。
2).使用1000 进制 结果为138.541 。
一版结果都保留一位的话,差别就出现了。
之前微信发送图片还有容量显示,目前这个版本(6.6.1)不显示了,但是qq(v7.5.0.407)和微博(8.2.0)还是很耿直使用(1024进制)。
对于计算机进制换是1024没有错,个人猜测问题应该出在NSFileManager上,应该apple做了简化或者等量换算。
欢迎留言一起讨论。
网友评论