我有一段代码可以将PNG图像从服务器下载到UIImage
对象中,然后通过将图像转换为NSData
来验证图像的正确性,并对{{1}的内容进行哈希处理将结果与已知值进行比较。
在伪代码中,我正在执行以下操作:
NSData
当我在iPad 4.2模拟器中运行此代码然后在实际的iPad设备上运行时,有时我会得到'dataLength'的不同值,因此,我的哈希在模拟器上产生的值与设备不同。
例如,我有一个TestImage1.png在设备和模拟器上都有38084字节的长度,但是我有一个较小的图像TestImage2.png,设备上的长度为9710字节,但是9751字节在模拟器上(即多41个字节!)。
我是否有一种不同的,一致的方式来获取任意UIImage* image = [UIImage imageWithData:[NSData dataWithContentsofURL:<some url>]];
NSData* imageData = UIImagePNGRepresentation(image);
int dataLength = [imageData length];
... some hashing follows
对象并将其转换为字节流,以使该流在模拟器和设备上都相同?