【问题标题】:JPEG image in base64 formatbase64 格式的 JPEG 图像
【发布时间】:2016-12-11 13:16:56
【问题描述】:

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

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

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

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

例子:

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

【问题讨论】:

    标签: image base64 jpeg


    【解决方案1】:

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

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-06-18
      • 2013-09-20
      • 2013-08-29
      • 1970-01-01
      • 1970-01-01
      • 2012-05-15
      • 1970-01-01
      相关资源
      最近更新 更多