change to base64, delete characters from back, and restore to jpeg, the more you delete, the more unclear the image will be, but smaller size.
这与 JPEG 图像的编码方式有关。JPEG 使用了一种称为离散余弦变换(DCT)的压缩技术,将图像数据按照从低频到高频的顺序存储。图像数据大致是这样组织的:
- 基础结构信息和低频数据在文件前部,包含:
- 图像尺寸、颜色空间等基本信息
- 主要的轮廓和大面积色块信息(低频信息)
- 细节和纹理信息在文件后部:
- 精细的纹理和边缘细节(高频信息)
- 色彩的微小变化
当你从末尾删除一部分 base64 数据时:
- 图像的基本结构信息和主要内容仍然保留
- 丢失的主要是细节纹理信息
- 所以图像看起来只是变得模糊,但仍可辨认主体内容
这就像远处看一幅画:
- 你能看到主要的形状和色块(低频信息)
- 但看不清细节的纹理和边缘(高频信息)
JPEG 这种渐进式的数据组织方式也被用在网页图片加载中 - 图片会先显示模糊的整体,然后逐渐清晰,这样用户可以更快地看到图像的大致内容。
这种特性确实很巧妙,但也提醒我们在处理敏感图片时要特别注意 - 即使图片被部分损坏或删除,其中的信息可能仍然可以被识别。