在处理下载程序时,我遇到了Python mimetypes.guess_extension
函数的以下内容:
In [2]: mimetypes.guess_extension('image/jpeg', strict=False)
Out[2]: '.jpe'
我知道 jpeg 和 jpg 是有效的JPEG扩展,但我不知道 jpe 。因此,查看维基百科网站确实揭示了以下内容:
使用JPEG压缩文件的最常见文件扩展名是.jpg和.jpeg,但也使用.jpe,.jfif和.jif
我不知道的更多扩展。
所以主要问题:为什么JPEG有这么多(有效)的扩展名呢?
在相关的说明中,我想知道为什么Python确实返回'jpe'而不是'jpg'或'jpeg',因为我发现这些使用最多。
答案 0 :(得分:9)
似乎mimetypes.guess_extension
返回所有可能扩展中的第一个:
def guess_extension(self, type, strict=True):
# ...
extensions = self.guess_all_extensions(type, strict)
if not extensions:
return None
return extensions[0]
因此,您将获得mimetypes.guess_all_extensions
返回的列表中的第一个,结果是:
>>> mimetypes.guess_all_extensions('image/jpeg', strict=False)
['.jpe', '.jpg', '.jpeg']
我猜为什么.jpe
也有效:
在DOS和早期Windows版本中,文件名只能包含8个字符和3个字符(有关详细信息,请参阅维基百科上的文章8.3 filename)。可能是他们将JPEG缩写为.JPE或.jpe - 这就是为什么我们现在有.jpe,.jpeg和.jpg。
确实.jpeg和.jpg更常见。
答案 1 :(得分:3)
严格来说,jpeg是一种图像压缩算法,而不是文件格式。
JFIF(JPEG文件交换格式)是使用jpeg压缩的常用文件格式。 EXIF(可交换图像文件格式)是另一种使用jpeg的格式,用于数码相机。 大多数人倾向于认为这些格式是相同的,但事实并非如此。
TIFF也可以用jpeg编码。