Dlaczego otrzymuję komunikat "Nie jest plik JPEG: zaczyna się od 0x89 0x50", gdy próbuję otworzyć mój plik JPG?Dlaczego pojawia się błąd: "Nie jest to plik JPEG: zaczyna się od 0x89 0x50"
Odpowiedz
Plik jest w rzeczywistości plikiem PNG o niewłaściwym rozszerzeniu pliku. "0x89 0x50" określa sposób uruchamiania pliku PNG.
Twój plik nie jest plikiem JPEG, jego nazwa została po prostu zmieniona z pliku PNG na JPEG. Niektóre programy otwierają to jako rozpoznane rozszerzenie pliku i określają typ z przedrostka, ale oczywiście nie ten, którego używasz.
To jest odpowiedź o błędzie podczas próby otwarcia pliku PNG przy użyciu przeglądarki plików JPEG, która korzysta z biblioteki libjpeg do otwierania plików jpeg. Nazwa pliku została zmieniona z png na JPEG, jak wspomniano we wcześniejszych odpowiedziach.
Oto skrypt Pythona, który identyfikuje obrazy błędów jpg w katalogu.
import glob
import os
import re
import logging
import traceback
filelist=glob.glob("/path/to/*.jpg")
for file_obj in filelist:
try:
jpg_str=os.popen("file \""+str(file_obj)+"\"").read()
if (re.search('PNG image data', jpg_str, re.IGNORECASE)) or (re.search('Png patch', jpg_str, re.IGNORECASE)):
print("Deleting jpg as it contains png encoding - "+str(file_obj))
os.system("rm \""+str(file_obj)+"\"")
except Exception as e:
logging.error(traceback.format_exc())
print("Cleaning jps done")
po prostu zmienić nazwę * .jpg na * .png. Lub otwórz ten plik w przeglądarce
- 1. dlaczego polecenie windbg zaczyna się od. lub!
- 2. awscli zaczyna się błąd
- 3. Dlaczego pojawia się błąd "MojaAktywność nie jest klasą obejmującą?"
- 4. ".addEventListener nie jest funkcją" dlaczego pojawia się ten błąd?
- 5. Dlaczego pojawia się błąd podczas instalowania PEAR?
- 6. Dlaczego tekst z Assembly.GetManifestResourceStream() zaczyna się od trzech znaków śmieci?
- 7. Dlaczego pojawia się błąd wymagający długości 411?
- 8. Dlaczego pojawia się ten błąd w Django?
- 9. Indeksowanie tablicy PLPGSQL zaczyna się od 1?
- 10. Sprawdź, czy zmienna wsadowa zaczyna się od "..."
- 11. Dlaczego ogólny program zazwyczaj zaczyna się od 0x8000?
- 12. Dlaczego ciąg "\ u0022" zaczyna się od tego ciągu "\ u204D"
- 13. Dlaczego konstruktor podwójnego parametru zaczyna się od jawnego słowa kluczowego?
- 14. Jakiego rodzaju odpowiedź json zaczyna się od)]} '
- 15. Sprawdź, czy zmienna zaczyna się od "http"
- 16. Dlaczego słowo "nie pojawia się" po uruchomieniu?
- 17. UISearchBar Nie pojawia się
- 18. Dlaczego pojawia się błąd "nazwa_bazy_danych musi być ciągiem lub symbolem"?
- 19. Wyrażenie regularne dla ciągu, który nie zaczyna się od sekwencji
- 20. Poinformuj catchall jeśli identyfikator URI nie zaczyna się od tego
- 21. Dlaczego pojawia się nieoczekiwany URLConnection defaultUseCaches
- 22. Dlaczego podczas kompilowania tego zestawu pojawia się następujący błąd?
- 23. Dlaczego pojawia się błąd krytyczny podczas wywoływania konstruktora nadrzędnego?
- 24. Dlaczego pojawia się błąd 2042 w dopasowaniu VBA?
- 25. Dlaczego pojawia się błąd "nie powiodło się" w mojej konsoli Xcode?
- 26. Dlaczego pojawia się błąd 404 podczas instalowania Ruby 1.9.3?
- 27. Dlaczego pojawia się błąd podczas bezpośredniego porównywania dwóch wyliczeń?
- 28. Dlaczego pojawia się błąd: polecenie 'llvm-gcc-4.2' nie powiodło się ze statusem wyjścia 1
- 29. Dlaczego pojawia się ten błąd podczas uruchamiania "instalacji bower"?
- 30. Dlaczego pojawia się błąd 403, gdy próbuję otworzyć adres URL?
Jeśli chcesz znaleźć te pliki, możesz użyć tego linku StackOverflow: https://stackoverflow.com/questions/30684796/rename-a-bunch-of-png-images- z-jpg-extension-to-png – zigzag