什么是 MIME 类型的数据?

What is MIME-type data?

我正在阅读有关 intents 的文章,我遇到了单词 MIME
在 android-文档中,我找不到关于什么是 mime-type.
的明确解释 来自文档:

type -- 指定意图数据的显式类型(MIME 类型)。通常类型是从数据本身推断出来的。通过设置此属性,您可以禁用该评估并强制使用显式类型。

1) MIME 到底是什么
2) 为什么我们需要它们?
3)如何从 Uri 推断出来?

P.S。不要link我去文档,我已经看过了。谢谢

MIME 代表多用途 Internet 邮件扩展,通常用于在通过 Internet 传输数据时定义数据类型。例如,"application/json" 或 "application/pdf" 或 "text/plain"。

我不太确定你所说的 "inferred from Uri" 是什么意思,但这是我最近在 Xamarin.Android 片段中使用它来通过电子邮件发送 PDF 文件的方式:

UriBuilder ub = new UriBuilder();
Intent intent = new Intent(Intent.ActionSend);
intent.SetType("application/pdf");
intent.PutExtra(Intent.ExtraEmail, new String[] { EMAIL } );
intent.PutExtra(Intent.ExtraStream, Android.Net.Uri.Parse("file:///" + path));
intent.PutExtra(Intent.ExtraSubject, "Notification: " + System.DateTime.Now);
intent.PutExtra(Intent.ExtraText, "There is a new notification.");
StartActivity(Intent.CreateChooser(intent, "Select mailclient"));

MIME 代表多用途 Internet 邮件扩展。 用于确定互联网通信中的文件类型(主要是扩展名)。

我们需要它们作为元数据,例如浏览器将从服务器接收的字节转换为正确的文件扩展名。 Here is list 例如 image/gif 将收到的数据转换为 .gif 扩展

您可以从 request/response header 中提取 mime 类型。 Content-type Content-Type: image/gif. You can also request some specific mime type by Accept http request attribute where you specify requested mime type. If server fails to convert your data to requested mime type it will respond with 406 Not Acceptable 错误代码。

嗯从标签解释..

1)2)多用途 Internet 邮件扩展 (MIME) 是一种 Internet 标准,它扩展了电子邮件的格式以支持:非 ASCII 字符集的文本、non-text 附件、包含多个部分的邮件正文、和header non-ASCII 个字符集

中的信息

3) 不知道

但这仍然不够清楚然后前往Viki