为什么各种JPEG扩展?

Lui*_*ell 15 python jpeg image mime-types

在处理下载程序时,我遇到了Python的mimetypes.guess_extension函数:

In [2]: mimetypes.guess_extension('image/jpeg', strict=False)
Out[2]: '.jpe'
Run Code Online (Sandbox Code Playgroud)

我知道jpegjpg是有效的JPEG扩展,但我不知道jpe.因此,查看维基百科网站确实揭示了以下内容:

使用JPEG压缩的文件最常用的文件扩展名是.jpg和.jpeg,但也使用.jpe,.jfif和.jif文件

更多我不知道的扩展.

所以主要的问题是:为什么JPEG有这么多(有效)扩展与它相关联?

在一个相关的说明中,我想知道为什么Python确实返回'jpe'而不是'jpg'或'jpeg',因为我看到这些使用最多.

Sim*_*ser 11

它似乎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]
Run Code Online (Sandbox Code Playgroud)

因此,您将获得返回列表中的第一个mimetypes.guess_all_extensions,结果是:

>>> mimetypes.guess_all_extensions('image/jpeg', strict=False)
['.jpe', '.jpg', '.jpeg']
Run Code Online (Sandbox Code Playgroud)

我猜测为什么.jpe也有效:

在DOS和早期Windows版本中,文件名只能包含8个字符和3个字符(有关详细信息,请参阅维基百科上的文章8.3文件名).可能是他们将JPEG缩写为.JPE或.jpe - 这就是为什么我们现在有.j​​pe,.jpeg和.jpg.

确实,.jpeg和.jpg更常见.