2016-08-05 182 views
1

我有一臺攝像機向我發送帶有一些標籤的xml文件,其中包括一個代表base64格式圖像的標籤。圖像採用JPEG格式。base64格式的JPEG圖像

出於某種原因,代表圖像並不總是具有相同的名稱(相機的問題)

所以有把握地檢測到包含圖像的標籤的標籤是正確的,我必須現在有一件事:

以base64格式的JPEG圖像總是以/ 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

相關問題