2016-08-05 3 views
1

У меня есть камера, которая отправляет мне XML-файл с некоторыми тегами, включая тег, который представляет изображение в формате base64. Изображение находится в формате JPEG.Изображение в формате JPEG в формате base64

По какой-то причине тега, который представляет собой изображение не всегда имеет такое же имя (для задачи камеры)

Так, чтобы обнаружить с уверенностью тега, который содержит изображение правильно я должен теперь одна вещь:

Изображение в формате JPEG в формате64 ВСЕГДА начинайте с/9j /?

Пример:

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

ответ

3

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

Смежные вопросы