私は基本的に、画像ファイルのヘッダーを読み込んで、実際にどのような種類のファイルであるかを簡単に比較しています。BMP、GIF、PNG は、ヘッダーにそれぞれ BM、GIF、PNG が含まれているため、簡単に識別できます。JPG は私にちょっとしたループを投げかけています。
jpg の最初の 3 バイトは 0xff\0xd8\0xff になる傾向があり、どのように設定しても単純な比較では真の値を得ることができません。
最初の 4 バイトを読みました。
if data[0, 3] == "\xff\xd8\xff"
puts "This is a JPG"
end
私は近くにいることを知っていますが、それを機能させることができません。ここで見逃していることを教えてください。
注: これを行うための gem があることは知っていますが、gem を使用したくありません。そのような単純な。