base64 格式的 JPEG 图片

JPEG image in base64 format

我的相机向我发送了一个带有一些标签的 xml 文件,包括一个以 base64 格式表示图像的标签。图片为JPEG格式。

由于某种原因,表示图像的标签并不总是具有相同的名称(因为相机的问题)

所以为了确定包含图像的标签是正确的,我现在必须做一件事:

base64 格式的 JPEG 图像总是以 /9j/ 开头?

示例:

data:image/jpeg;base64,-->/9j/<--4RYQRXhpZgAATU0AKgAAAAgABwESAAMAAAABAAEAAAEaAAUAAAABAAAAYgEbAAUAAAABAAAAagEoAAMAAAABAAIAAAExAAIAAAAgAAAAcgEyAAIAAAAUAAAAkodpAAQAAAABAAAAqAAAANQACvyAAAAnEAAK/IAAACcQQWRvYmUgUGhvdG9zaG9wIENTNiAoTWFjaW50b3NoKQAyMDE2OjA4OjA1IDA5OjQ1OjA4AAAAAAOgAQADAAAAAf//AACgAgAEAAAAAQAAAPGgAwAEAAAAAQAAAFkAAAAAAAAABgEDAAMAAAABAAYAAAEaAAUAAAABAAABIgEbAA....

Jpeg 文件格式(和许多其他格式一样)可以通过幻数识别。对于 JPEG,幻数是偏移 0 处的 ff d8 ff。如果将其编码为 Base64,您将始终得到 /9j/.

附加说明:由于 Base64 将 3 个数据字节组转换为 4 个字节 (ASCII),这将适用于长度和偏移量为 3 字节倍数的任何幻数。如果magic number的长度是不是3的倍数,则最后一组4个Base-64编码的字符会根据紧跟在magic number后面的数据而变化

https://en.wikipedia.org/wiki/JPEG

https://en.wikipedia.org/wiki/List_of_file_signatures