在开发下载器时,我遇到了以下使用 Python 的情况mimetypes.guess_extension
功能:
In [2]: mimetypes.guess_extension('image/jpeg', strict=False)
Out[2]: '.jpe'
我知道jpeg and jpg是有效的 JPEG 扩展名,但我不知道jpe。因此,查看维基百科网站确实揭示了以下内容:
采用 JPEG 压缩的文件最常见的文件扩展名是 .jpg 和 .jpeg,但也使用 .jpe、.jfif 和 .jif
甚至还有更多我不知道的扩展。
那么主要问题是:为什么 JPEG 有这么多与之相关的(有效)扩展名?
在相关说明中,我想知道为什么 Python 返回“jpe”而不是“jpg”或“jpeg”,因为我看到这些使用最多。
它出现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 文件名 https://en.wikipedia.org/wiki/8.3_filename在维基百科上了解更多信息)。他们可能将 JPEG 缩写为 .JPE 或 .jpe - 这就是为什么我们现在有 .jpe、.jpeg 和 .jpg。
确实,.jpeg 和 .jpg 更常见。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)