图像的 UIImagePNG 表示和十六进制表示

UIImagePNGRepresentation and hex representation of an image

假设,我有一张 png 图片 A.png

然后我将这张图片添加到我的应用程序的资产目录中,按比例 1 使用它。

现在,我编写如下代码:

    let im = UIImage(named: "TestByteSet")
    let data = UIImagePNGRepresentation(im!)
    print("\(data)")

与此同时,我在十六进制查看器中打开原始文件 A.png

问题是:我应该看到相同的数据吗?

我可以看到开头显然是一样的,这并不奇怪:png 规范告诉我们必须在文件开头有 png 签名。但是,在一些字节数之后数据是不同的。

我错过了什么?

提前致谢。

PNG 文件可能会因编码和压缩方式的不同而有很大差异,因此您看到的内容很正常