不同图像格式的 Base64 开头标识

256 阅读1分钟

不同图像格式的 Base64 开头标识

每种图像格式有固定的文件头(magic number) ,经过 Base64 编码后会形成特定的开头字符串:

图像格式文件头(十六进制)Base64 编码开头
JPEG / JPGFF D8 FF/9j/
PNG89 50 4E 47 0D 0A 1A 0AiVBORw0KGgo
GIF47 49 46 38(即 "GIF8")R0lGODlh(GIF87a)或 R0lGODdh(GIF89a)
WebP52 49 46 46 ?? ?? ?? ?? 57 45 42 50UklGR

PNG 的 Base64 开头详解

PNG 文件的前 8 字节是固定的:

89 50 4E 47 0D 0A 1A 0A

将这 8 个字节转换为 ASCII 并做 Base64 编码:

  • 原始字节 → Base64 编码结果为:iVBORw0KGgo...

所以,所有合法的 PNG 图像在 Base64 编码后都以 iVBORw0KGgo 开头

✅ 示例:

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAASwAAACCCAMAAADQNkiAAAAA...

正则表达式匹配 PNG Base64

如果你要匹配纯 Base64 的 PNG 数据(不含 data URL 前缀):

^iVBORw0KGgo[A-Za-z0-9+/=]*$

如果包含完整 Data URL:

^data:image/png;base64,iVBORw0KGgo[A-Za-z0-9+/=]*$