Tại sao tôi nhận được thông báo "Không phải tệp JPEG: bắt đầu bằng 0x89 0x50" khi tôi cố gắng mở tệp jpg của mình?Tại sao tôi gặp lỗi: "Không phải tệp JPEG: bắt đầu bằng 0x89 0x50"
48
A
Trả lời
50
Tệp thực sự là tệp PNG có đuôi tệp sai. "0x89 0x50" là cách tệp PNG bắt đầu.
52
Tệp của bạn không phải là tệp JPEG, tệp này vừa được đổi tên từ PNG thành JPEG ở đâu đó trên đường đi. Một số chương trình sẽ mở tệp này dưới dạng phần mở rộng tệp được công nhận và suy ra loại từ tiền tố, nhưng rõ ràng không phải là loại bạn đang sử dụng.
2
Đây là phản hồi lỗi khi bạn cố gắng mở tệp PNG bằng trình xem tệp JPEG sử dụng libjpeg để mở tệp jpeg. Tệp của bạn được đổi tên từ png thành JPEG như được đề cập trong các câu trả lời trước đó.
0
Đây là một tập lệnh python để xác định những hình ảnh jpg lỗi trong một thư mục.
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")
0
chỉ cần đổi tên * .jpg thành * .png. Hoặc mở tệp này trong trình duyệt
Nếu bạn muốn tìm các tệp đó, bạn có thể sử dụng liên kết StackOverflow này: https://stackoverflow.com/questions/30684796/rename-a-bunch-of-png-images- với-jpg-extension-to-png – zigzag