2016-08-05 14 views
1

base64形式の画像を表すタグを含め、いくつかのタグを含むxmlファイルを私に送るカメラがあります。画像はJPEG形式です。私はする必要が何らかの理由でそれがいつも確実に画像が含まれているタグを検出するために、(カメラの問題のために)同じ名前Base64形式のJPEG画像

を持っていないイメージを表すタグの

が正しいですか今のもの:

base64形式のJPEG画像はいつも/ 9j /で始まりますか?

例:(多くの他のものなど)

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

答えて

3

JPEGファイル形式は、マジックナンバーによって識別することができます。 JPEGの場合、マジックナンバーは0ff d8 ffです。これをBase64にエンコードすると、常に/9j/になります。

追加の注意:Base64は3データバイトのグループを4バイト(ASCII)に変換するので、これは長さと3倍のオフセットの倍数を持つ任意のマジックナンバーで動作します。マジックナンバーの長さがでない場合、では3の倍数であり、マジックナンバーの直後のデータに応じて4つのBase64エンコード文字の最後のグループが変わります。

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

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

関連する問題