Base64 转 TIFF

把 Base64 编码的扫描件和印刷文件保存为 TIFF,或把浏览器能显示的任意图片转换为未压缩的 RGBA TIFF。所有处理都在你的设备上完成。

完全在浏览器中运行,不会上传任何数据。

使用方法

  1. 粘贴 Base64 字符串或 data:image/tiff;base64 URI。
  2. 查看识别出的格式和大小。TIFF 没有预览是正常现象,大多数浏览器都是如此。
  3. 选择“原始文件”可按收到的样子保存 TIFF;保持 TIFF 选中,则可以转换 PNG、JPEG、WebP 等图片。
  4. 下载 .tiff 文件。

识别 TIFF 数据

TIFF 文件以字节序标记开头。小端序文件以 II(源自 Intel)开头,编码后为 SUkq;大端序文件以 MM(源自 Motorola)开头,编码后为 TU0A。Base64 TIFF 常见于文档扫描仪、传真服务、OCR 流程、档案系统以及处理 GeoTIFF 的 GIS 工具。MIME 类型为 image/tiff,扩展名 .tif 和 .tiff 可以互换。

为什么可能没有预览

Chrome、Edge 和 Firefox 都无法显示 TIFF 图片,Safari 是主要的例外。即便如此,本工具仍会根据文件头识别格式、显示解码后的大小,并在你选择“原始文件”时保存文件,之后可以用看图软件、PDF 工具或图片编辑器打开。

把 TIFF 转换为 PNG 或 JPEG 需要浏览器先完成解码,因此只有在能显示 TIFF 的浏览器中才可行。扫描文档和传真常用多页 TIFF,以“原始文件”格式下载时所有页面都会保留;转换只能使用浏览器解码出的那一张图,通常是第一页。

转换为 TIFF

反方向的转换在所有浏览器中都能进行:浏览器能显示的任何图片,从 PNG、JPEG 到 WebP、GIF、AVIF、BMP 或 SVG,都可以保存为 TIFF。输出为每通道 8 位的未压缩 RGBA,每个像素约占 4 个字节。它不使用 LZW 或 ZIP 压缩,也不会转换为 CMYK;如果印刷厂要求 CMYK,请用专业图片编辑软件转换。

// Go:把 Base64 TIFF 数据写入磁盘
data, err := base64.StdEncoding.DecodeString(b64)
if err != nil {
    log.Fatal(err)
}
os.WriteFile("scan.tif", data, 0o644)

常见问题

为什么看不到 TIFF 的预览?

大多数浏览器不支持 TIFF,所以预览区域为空。但数据已经正确解码,以“原始文件”格式下载即可得到完整文件。

可以把 Base64 TIFF 转成 PNG 或 JPG 吗?

只有当浏览器能够解码 TIFF 时才可以,例如 Safari。否则请下载原始文件,再用桌面软件转换。

输出的 TIFF 有压缩吗?

没有。转换生成的是未压缩的 RGBA 文件,几乎所有 TIFF 阅读器都能打开,但体积较大,一张 3000 × 2000 像素的图片约为 24 MB。

支持多页 TIFF 吗?

以“原始文件”格式下载时,多页 TIFF 会完整保留;转换时只使用其中一页。

怎样把 TIFF 编码为 Base64?
使用 TIFF 转 Base64,即可得到纯 Base64 字符串或 data URI。