Я в основном читаю в заголовке файла изображения и делаю быстрое сравнение, чтобы увидеть, какой файл он на самом деле. BMP, GIF, PNG все легко, так как их заголовки содержат BM, GIF и PNG, чтобы идентифицировать себя. JPG бросает меня на бит цикла.Ruby - Сравнение «==» шестнадцатеричного значения с строкой
Первые 3 байта jpg имеют тенденцию быть 0xff \ 0xd8 \ 0xff, и для жизни меня я не могу получить истинное значение в простом сравнении, независимо от того, как я его настроил.
Я прочитал в первые 4 байта:
if data[0, 3] == "\xff\xd8\xff"
puts "This is a JPG"
end
Я знаю, что я близко, но я просто не могу заставить его работать. Пожалуйста, дайте мне знать, чего я здесь пропустил.
Примечание: Я знаю, что для этого есть драгоценные камни, но я не хочу использовать драгоценный камень. Просто как тот.
Как ваши данные выглядят? –
@ И я использую данные [0, 3], чтобы получить первые 3 байта из 4, которые я прочитал в – Kyle